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 フィールドを null のままにしています。しかし、EF は guid 列の値をゼロにしているようです。

新しい行がサーバー レベルで NEWSEQUENTIALID() によって設定される必要があることを EF に伝えるにはどうすればよいですか?

4

1 に答える 1

3

更新:このブログ投稿を読んだ後、EDMデザイナーでStoreGeneratedPatternプロパティを「Identity」に設定しました。今は動いているようです。

于 2012-05-27T11:31:48.080 に答える