如何在Windows Azure Mobile服务中支持GUID



特别提到WAMS需要一个int ID列才能在SQL Azure中工作。但是,在分布式数据库上开发企业应用程序时,GUID是首选主键。如何避开int ID列并支持GUID?

如果不能做到这一点,那么如何在云上同步来自使用WAMS的应用程序运行的各种平板电脑/移动设备上的多个独立数据库的数据?

关于这个问题的更新-截至上周,移动服务现在支持任意字符串作为列的id-查看本文了解更多信息。您现在可以插入具有"id"值的数据(以前无法插入),因此可以在插入时使用Guid值。此外,如果插入时没有在Id列上发送任何内容(或者该值设置为null),则服务器将默认为该列生成一个唯一标识符。

目前,我认为不可能在ID列中使用GUID。移动服务服务器端脚本的文档指定,对于Delete函数,ID必须是javascriptNumber类型。据我所见,所有可用的示例代码以及您可以从门户网站下载的代码都非常明确地使用了ID的整数类型。

每当创建新记录时,您必须想出一种生成唯一整数值的方法。这里的示例使用Insert脚本中的勾号计数,这对于低容量的应用程序来说可能是可以的,但它需要更加健壮,可能需要根据用户身份生成一个数字,并将其与勾号计数相结合。

我有点晚了,但我发现可以使用GUid作为移动服务表的主键。不过有几点。将JSON属性设置为小写"id"并使用可为null的guid,这允许在id列(NewId())上有默认值时插入

    [JsonProperty(PropertyName = "id")]
    public Guid? Id { get; set; }

灰烬。。

相关内容

  • 没有找到相关文章

最新更新