我使用“模型优先”实体框架5.0。在4.x中有一个错误:设计者无法使用identy和defaultValue处理主列guid:“newid()”(来源:http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/)
在EF5中仍然无法使用它吗?将c#guid转换为sql“uniqueid”有什么问题?
答案 0 :(得分:9)
这对我来说非常适合数据库优先,但在您创建数据库后可能会对您有所帮助 -
您可以使用Server Management Studio(而非通过EF)更新表并将默认值设置为newid()
。
然后在EF模型中,将StoreGeneratedPattern
从none
更新为Identity
。
2013编辑: 为了完整性,在EF 5.0 Codefirst中,您可以指定以下数据注释:
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public Guid TableIdColumn { get; set; }