我有一个简单的表格,其中包含ID(uniqueidentifier
),datetime
和值。
我想在数据库中使用getdate()
作为记录插入时间,并使用newid()
作为id。如何配置实体框架来执行此操作?当我尝试在DB上分配id时,我得到:
Violation of PRIMARY KEY constraint 'PK_Random'. Cannot insert duplicate key in object 'dbo.Random'. The duplicate key value is (00000000-0000-0000-0000-000000000000).
答案 0 :(得分:22)
如果您首先使用代码。请将以下内容添加到您的guid中。
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid guId { get; set; }
这将启用sql server side guid生成。希望它有所帮助。
答案 1 :(得分:7)
只是为了补充这一点,因为@lunateck回答帮助了我。另一种方式(如果您使用的是Database First)是:
edmx
文件。StoreGeneratedPattern
更改为Identity
。