ホームページ > バックエンド開発 > C++ > Entity Framework で挿入後にデータベースによって割り当てられたエンティティ ID を取得する方法

Entity Framework で挿入後にデータベースによって割り当てられたエンティティ ID を取得する方法

Mary-Kate Olsen
リリース: 2025-01-21 11:17:13
オリジナル
360 人が閲覧しました

How to Retrieve a Database-Assigned Entity ID After Insertion with Entity Framework?

Entity Framework 挿入後のエンティティ ID の取得

Entity Framework を使用してデータベースに新しいエンティティを挿入すると、多くの場合、後続の操作でデータベースによって割り当てられた ID が必要になります。 この記事では、この ID を効率的に取得する方法について説明します。

Entity Framework は ID プロパティを提供しますが、これは最初は実際のデータベース ID ではなく、一時的な識別子を保持します。 データベースで生成された ID を取得するには、少し異なる方法が必要です。

解決策

Entity Framework は、自動生成されたキー (SQL Server の IDENTITY など) の ID 取得をエレガントに処理します。 エンティティを関連する ObjectSet に追加し、ObjectContext で SaveChanges を呼び出すだけです。エンティティの ID プロパティは、データベースによって割り当てられた値で更新されます。

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

  int id = myNewObject.Id; // id now contains the database-generated ID
}</code>
ログイン後にコピー

自動生成キーが使用されている場合、Entity Framework は内部的に SCOPE_IDENTITY() (またはデータベースによっては同様の関数) を使用して、新しく挿入されたエンティティの ID を取得します。 これにより、追加のコーディングを行わなくても正しい ID を取得できます。

以上がEntity Framework で挿入後にデータベースによって割り当てられたエンティティ ID を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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