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 がすぐにエンティティに反映されます。
段階的な実装
context.MyEntities.Add(myNewObject)
を使用して、新しいエンティティを Entity Framework コンテキストに追加します。context.SaveChanges()
を呼び出して、変更をデータベースに保存します。 これにより、INSERT
と後続の SCOPE_IDENTITY()
クエリがトリガーされます。SaveChanges()
の後、myNewObject.Id
プロパティにはデータベースで生成された ID が含まれます。この方法では、自動生成された ID の正確な取得が保証され、元の要件が満たされます。
以上がEntity Framework を使用して新しく挿入されたエンティティの自動生成 ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。