3

我有一个像这样的非 PK 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() 填充?

4

1 回答 1

3

更新:阅读这篇博文后,我在 EDM 设计器中将 StoreGeneratedPattern 属性设置为“Identity”。它现在似乎正在工作。

于 2012-05-27T11:31:48.080 回答