使用数据库生成的GUID和日期时间与EF4

时间:2011-02-26 03:45:21

标签: entity-framework sql-server-2008 entity-framework-4

我有一个简单的表格,其中包含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).

2 个答案:

答案 0 :(得分:22)

如果您首先使用代码。请将以下内容添加到您的guid中。

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid guId { get; set; }

这将启用sql server side guid生成。希望它有所帮助。

答案 1 :(得分:7)

只是为了补充这一点,因为@lunateck回答帮助了我。另一种方式(如果您使用的是Database First)是:

  1. 打开您的edmx文件。
  2. 右键单击 - >模型浏览器
  3. 右键单击Guid列 - >属性 - >将StoreGeneratedPattern更改为Identity
相关问题