Entity framework 将数据库生成的GUID和日期时间与EF4一起使用
我有一个简单的表,它有一个ID(一个Entity framework 将数据库生成的GUID和日期时间与EF4一起使用,entity-framework,sql-server-2008,entity-framework-4,Entity Framework,Sql Server 2008,Entity Framework 4,我有一个简单的表,它有一个ID(一个uniqueidentifier),一个datetime,还有一个值 我想在数据库上使用getdate()作为记录插入时间,使用newid()作为id。如何配置entity framework来实现这一点?当我尝试在数据库上分配id时,我得到: 违反主键约束“PK_Random”。无法在对象“dbo.Random”中插入重复键。重复的键值为(00000000-0000-0000-0000-000000000000)。 如果您先使用代码。请将以下内容添加到您的g
uniqueidentifier
),一个datetime
,还有一个值
我想在数据库上使用getdate()
作为记录插入时间,使用newid()
作为id。如何配置entity framework来实现这一点?当我尝试在数据库上分配id时,我得到:
违反主键约束“PK_Random”。无法在对象“dbo.Random”中插入重复键。重复的键值为(00000000-0000-0000-0000-000000000000)。
如果您先使用代码。请将以下内容添加到您的guid中
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid guId { get; set; }
这将启用sql server端guid生成。希望能有所帮助。只是想补充一下,因为@lunateck answer帮助了我。另一种方法(如果您首先使用数据库)是:
edmx
文件StoreGeneratedPattern
更改为Identity
Booya-就是这个。请注意,这需要引用命名空间
System.ComponentModel.DataAnnotations.Schema
我被告知,如果设置了DatabaseGeneratedOption.Identity
,这意味着您无法手动设置Guid。如果必须同步数据库,这可能是一个问题。