ホームページ > データベース > mysql チュートリアル > Entity Framework テーブルにキーを手動で入力するにはどうすればよいですか?

Entity Framework テーブルにキーを手動で入力するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-15 19:01:44
オリジナル
489 人が閲覧しました

How to Manually Enter Keys into Entity Framework Tables?

Entity Framework を使用した主キーの手動指定

Entity Framework は通常、主キーを自動生成しますが、キー値を手動で割り当てる必要がある状況が発生する場合があります。 自動インクリメントが有効になっている場合、これにより競合が発生することがよくあります。 これを管理する方法は次のとおりです:

Entity Framework が主キーを自動的に生成しないようにするには、Fluent API またはデータ アノテーションを使用できます。

方法 1: Fluent API

このアプローチでは、モデル ビルダーが変更されます。

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

「IDENTITY_INSERT が OFF に設定されている場合、テーブル 'Events' の ID 列に明示的な値を挿入できません」というエラーが発生した場合は、データベース設定を調整する必要があります。

  1. SQL Server Management Studio (SSMS) を開き、データベースに接続します。
  2. 「イベント」テーブルを見つけます。
  3. テーブルを右クリックし、[プロパティ] を選択し、[オプション] タブに移動します。
  4. 「アイデンティティの仕様」セクションで、「アイデンティティ」を「いいえ」に設定します。 「OK」をクリックします。

方法 2: データの注釈

または、エンティティ クラスで属性を直接使用することもできます。

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

どちらの方法でも同じ結果が得られます。つまり、EventID 列の自動インクリメントが無効になり、Events テーブルにデータを挿入するときにキー値を直接指定できるようになります。 必ず 1 つの方法を選択し、それを一貫して適用してください。 両方を同時に使用すると、競合が発生する可能性があります。

以上がEntity Framework テーブルにキーを手動で入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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