データベース - 最初のソリューションにNULL値を挿入することはできません。は、列「ID」(最初のデータベース)
User
とProfile
という2つのテーブルを使用しています。彼らは両方ともプライマリキーとしてuniqueidentifier
(SQL Server)を使用しています。私のEDMXファイルを開き
:私は、自動的にそれが自分のGUIDのIDが受信する
User
を聞かせて道からでした。右ユーザーのGUID列をクリック - >プロパティ - >アイデンティティにStoreGeneratedPatternを変更します。
チャームのように働いた。今、私はReview
と同じことをしようとしたが、私は、私は新しい行を作成しようとしているたびに、次のエラーを取得しています:
が列「ID」にNULL値を挿入することはできません、テーブル 「XXXX .dbo.Profile ';列はNULLを許可しません。 INSERTは失敗します。 ステートメントが終了しました。
私は、それがユニークなIDを生成しません、Profile
ためStoreGeneratedPattern
のために私は再び新しい行を作成しようとした場合、重複エラーにつながるゼロの代わりにちょうど束をIdentity
を使用しない場合。
なぜユーザーはProfile
正常に動作していないが?
私は両方のテーブルのために、このガイドguideを追いました。
あなたのエラーメッセージは、「プロフィール」ではなく、「プロファイル」という名前のテーブルを参照します。あなたが間違っている/それが参照するテーブルまたはクラスの名前を付けることは可能ですか? –
uniqueidentifier(Guid)列にDatabaseGeneratedOption.Identityを使用することはできません。 DBMSのGuidカラムは自動的にインクリメントされることはなく、StoreGeneratedPatternをIdentityに変更したので、EFはそれをDBMSによって与えられると期待しているので、値として渡しません。 – DevilSuichiro
を有効にするには、StoreGeneratedPatternをNoneに変更し、有効なGuid値を設定するか、データ型を変更します。 – DevilSuichiro