Entity Framework エラー: ID 列に明示的な値を挿入
「テーブル内の ID 列に明示的な値を挿入できません」というエラーが発生した場合これは、によって自動的に生成される ID 列に特定の値を挿入しようとしていることを示します。 Database.
Entity Framework では、データベースの ID 増加列が設定されているが、EF デザイン ファイルの StoreGeneratedPattern プロパティも ID に設定されている場合に、この問題が発生する可能性があります。これにより、EF は列を非 ID 列として扱い、データベースの自動インクリメントに依存する代わりに値を挿入しようとします。
この問題を解決するには、データベースの ID インクリメント設定または EF のいずれかを調整します。デザイン ファイルの StoreGeneratedPattern プロパティ。
1 つの提案は、EF デザイナーに "IsDbGenerated=true" 属性が存在することを確認することです。データベース内の ID 列に対応するプロパティのファイル。これは、値がデータベースで生成される必要があることを示します。
データベースが値を自動的に割り当てる場合は、edmx ファイルを更新してこの変更を反映することもできます。 edmx ファイルを更新すると、列がデータベースで生成され、アプリケーション コードから特定の値を割り当てないよう指定できます。
以上がEntity Framework が「ID 列に明示的な値を挿入できません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。