2012-05-27 50 views
3

我有一个非PK ROWGUIDCOL列像这样的表:实体框架与ROWGUIDCOL

CREATE TABLE [dbo].[SomeTable] (
    ... 
    RowGuid uniqueidentifier NOT NULL DEFAULT (NEWSEQUENTIALID()) ROWGUIDCOL, 
    ... 
    CONSTRAINT AK_SOMETABLE_ROWGUID UNIQUE (RowGuid) 
    ... 
) 

当我试图通过EF添加一条记录(4.3.1版本),以下异常引发:

Violation of UNIQUE KEY constraint 'AK_SOMETABLE_ROWGUID'. Cannot insert duplicate key in object 'dbo.SomeTable'. 
The duplicate key value is (00000000-0000-0000-0000-000000000000). 

我正在离开RowGuid字段为空。但似乎EF正在清除guid列值。

如何告知EF,新的行应该由服务器级的NEWSEQUENTIALID()填充?

回答

3

更新:在阅读完blog post之后,我在EDM设计器中将StoreGeneratedPattern属性设置为“Identity”。它现在似乎在工作。