我最近开始了解Azure移动服务,我关注了this tutorial关于它,我的模型的类需要从 EntityData 类继承。
来自EntityData source code ,已定义 Id 属性作为主键,但它被定义为字符串,这不适用于我使用 int 的模型。
我的类(class)是这样的:
public partial class Role : EntityData
{
public Role()
{
this.Users = new HashSet<User>();
}
[Key]
public int RoleId { get; set; }
public string Title { get; set; }
public virtual ICollection<User> Users { get; set; }
}
如果我尝试使用此类,我会收到一条错误消息,指出 Id 属性已定义。
有没有办法将不同的属性定义为主键?如果无法进行此更改,是否可以使用此字符串 Id 属性作为增量主键?
最佳答案
最好的解决方案是使用自动映射器。这是一篇博客文章,概述了如何执行此操作,本质上是存储一个 int,但在通过网络发送时将其转换为字符串:
关于asp.net-web-api - 如何将 EntityData 派生类默认字符串 Id 属性的主键更改为 int 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27809199/