2012-05-27 216 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」。它現在似乎在工作。