ホームページ > データベース > mysql チュートリアル > Entity Framework でエラーなく主キーを手動で設定する方法は?

Entity Framework でエラーなく主キーを手動で設定する方法は?

Mary-Kate Olsen
リリース: 2025-01-15 19:16:47
オリジナル
513 人が閲覧しました

How to Manually Set Primary Keys in Entity Framework without Errors?

Entity Framework のコード優先アプローチにおける主キーの競合の回避

Entity Framework のコードファースト開発では、主キーを手動で指定すると、自動キー生成と競合する場合があります。 これにより、データを挿入しようとするとエラーが発生することがよくあります。これらの問題を回避する方法を見てみましょう。

1 つの方法には、自動キー生成を無効にすることが含まれます。

<code class="language-csharp">modelBuilder.Entity<Event>().Property(e => e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);</code>
ログイン後にコピー

ただし、これによりエラーが発生する可能性があります:

<code>Cannot insert explicit value for identity column in table 'Events' when IDENTITY_INSERT is set to OFF.</code>
ログイン後にコピー

解決策は、POCO クラス (例: Event) 内で主キー プロパティを正しく定義することにあります。 プロパティ宣言に Key 属性と Required 属性の両方が含まれていることを確認してください:

<code class="language-csharp">[Key, Required]
public int EventID { get; set; }</code>
ログイン後にコピー

また、次の属性を使用して同じ結果を得ることができます:

<code class="language-csharp">[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int EventID { get; set; }</code>
ログイン後にコピー

このアプローチは Entity Framework と Entity Framework Core の両方と互換性があり、手動で割り当てられた主キーを管理するための信頼できる方法を提供します。

以上がEntity Framework でエラーなく主キーを手動で設定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート