Entity Framework の「ID 列に明示的な値を挿入できません」エラーについて
エラー:
ID 列に値を挿入しようとすると、「テーブルの ID 列に明示的な値を挿入できません」エラーが発生する(自動インクリメント列) IDENTITY_INSERT データベース オプションが OFF に設定されている間。
原因:
このエラーは、Entity Framework が ID 列に特定の値を挿入しようとしていることを示します、データベースが値を管理する場合は許可されません
解決策:
データベースと EF モデルを確認してください:
Update EDMX ファイル (エンティティ データ) Model):
「IsDbGenerated」属性を確認します:
コード内の自動生成値を無効にします:
コード サンプル:
GroupMember groupMember = new GroupMember(); groupMember.GroupId = group.Id; groupMember.UserId = new UserId(group.Owner); // Remove this line, as it manually assigns an ID // groupMember.Id = _groupContext.GroupMembers.Count(); group.GroupMembers.Add(groupMember);
次の手順に従うと、エラーが発生します。解決される必要があり、Entity Framework はデータベース構成に基づいて ID 列に値を正しく挿入します。
以上がEntity Framework で「ID 列に明示的な値を挿入できません」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。