ホームページ > バックエンド開発 > C++ > Entity Framework を使用して新しく挿入されたエンティティの自動生成 ID を取得するにはどうすればよいですか?

Entity Framework を使用して新しく挿入されたエンティティの自動生成 ID を取得するにはどうすればよいですか?

DDD
リリース: 2025-01-21 11:02:09
オリジナル
333 人が閲覧しました

How Can I Retrieve the Auto-Generated ID of a Newly Inserted Entity Using Entity Framework?

Entity Framework で自動生成された ID へのアクセス

Entity Framework はデータベースの対話を簡素化しますが、新しく挿入されたレコードの自動生成された ID を取得するのが難しい場合があります。このガイドでは、この ID を効率的に取得する方法を説明します。

チャレンジ

多くの開発者は、Entity Framework を使用して新しいエンティティを追加した後、データベースに割り当てられた主キーを取得する際に困難に遭遇します。 エンティティの ID プロパティにアクセスするだけでは、データベースが生成した正しい値が常に得られるとは限りません。

解決策

Entity Framework は、自動生成された ID を取得する簡単な方法を提供します。

<code class="language-csharp">using (var context = new MyContext())
{
  context.MyEntities.Add(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // The auto-generated ID is now available
}</code>
ログイン後にコピー

Entity Framework は、自動インクリメント主キーを処理するときに、各 SELECT SCOPE_IDENTITY() 操作の後に INSERT ステートメントを自動的に組み込みます。 これにより、新しく生成された ID がすぐにエンティティに反映されます。

段階的な実装

  1. エンティティの追加: context.MyEntities.Add(myNewObject) を使用して、新しいエンティティを Entity Framework コンテキストに追加します。
  2. 変更の保存: context.SaveChanges() を呼び出して、変更をデータベースに保存します。 これにより、INSERT と後続の SCOPE_IDENTITY() クエリがトリガーされます。
  3. ID を取得します: SaveChanges() の後、myNewObject.Id プロパティにはデータベースで生成された ID が含まれます。

この方法では、自動生成された ID の正確な取得が保証され、元の要件が満たされます。

以上がEntity Framework を使用して新しく挿入されたエンティティの自動生成 ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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