在我的简单类中,我使用数据注释将属性映射到列:
[Table("Member")]
public class Member
{
[Key]
public Guid MemberId { get; set; }
// More properties go here
}
我已经可以在我的桌子上写新成员,但是MemberId总是默认使用新的Guid(0000-000-00 ...)而不是美丽的服务器生成的Guid。
我见过人们在EDMX文件中更改一些名为StoreGeneratedPattern的设置的场景。但是因为我正在使用Code First,所以我没有这个EDMX文件...
那我该如何解决这个问题?
非常感谢任何帮助。
好的,我自己找到了答案。您可以使用注释。
[Table("Member")]
public class Member
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid MemberId { get; set; }
// More properties go here
}
答案 0 :(得分:6)
使用注释:
[Table("Member")]
public class Member
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid MemberId { get; set; }
// More properties go here
}
答案 1 :(得分:3)
我一直在类构造函数中初始化我的Guids,因为您不需要/不能使用与int类型键一起使用的自动增量功能。
所以,我会改为......
[Table("Member")]
public class Member
{
[Key]
public Guid MemberId (get; set;}
public Member
{
MemberId = Guid.NewGuid();
}
}