已开始在Azure移动服务中使用Entity Code First,并遇到了一些问题:
对于将TableController与Entity对象一起使用,我需要从EntityData类派生它们,它们提供字符串Id字段!
我曾经使用int,long甚至guid而不是id的字符串,所以......
这有什么好处? 插入操作怎么样?最佳实践是什么? 字符串id的性能怎么样?
答案 0 :(得分:4)
@carlosfigueira在这里有关于使用字符串ID的更改的好文章:http://blogs.msdn.com/b/carlosfigueira/archive/2013/11/23/new-tables-in-azure-mobile-services-string-id-system-properties-and-optimistic-concurrency.aspx
答案 1 :(得分:2)
EntityData是Dtos应该实现的类,因为它是离线功能所必需的,至少我得到了答案。
要创建一个Table控制器,你需要使用它,但是如果你想要你可以忽略...假设你有一个名为“CarDto”的类,dto将有一个来自EntityData的属性“carDto.Id”,但是你可以创建“carDto.CarId”作为你的钥匙!您唯一需要做的就是创建一个基于您想要的模型并将其与您的数据库匹配,然后使用AutoMapper将汽车的模型与汽车的dto相匹配:)
请参阅Azure Mobile Services - Samples and articles to help developers to use Azure Mobile Services,其中包含将dtos与模型匹配的示例。
或者您可以应用此方法Build a service using an existing SQL database with the Mobile Services .NET backend,但我不喜欢,因为在我看来是混淆....您选择适合您需求的方式:)