首頁 > 後端開發 > C++ > 如何使用實體框架擷取新插入實體的自動產生的 ID?

如何使用實體框架擷取新插入實體的自動產生的 ID?

DDD
發布: 2025-01-21 11:02:09
原創
362 人瀏覽過

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

存取實體框架中自動產生的 ID

實體框架簡化了資料庫交互,但檢索新插入記錄的自動產生的 ID 有時可能很棘手。本指南闡明如何有效取得此 ID。

挑戰

許多開發人員在使用實體框架新增實體後取得資料庫指派的主鍵時遇到困難。 簡單地存取實體的 ID 屬性可能不會總是產生正確的資料庫產生的值。

實體框架提供了一個簡單的方法來檢索自動產生的 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>
登入後複製

在處理自動遞增主鍵時,實體框架會在每個 SELECT SCOPE_IDENTITY() 操作後自動合併一個 INSERT 語句。 這可確保新產生的 ID 立即反映在實體中。

逐步實施

  1. 新增實體: 使用 context.MyEntities.Add(myNewObject) 將新實體新增至實體框架上下文。
  2. 儲存變更:呼叫context.SaveChanges()將變更儲存到資料庫。 這會觸發 INSERT 和後續的 SCOPE_IDENTITY() 查詢。
  3. 檢索 ID:SaveChanges() 之後,myNewObject.Id 屬性將包含資料庫產生的 ID。

此方法保證了自動產生的ID的準確檢索,滿足了原來的要求。

以上是如何使用實體框架擷取新插入實體的自動產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板