首頁 >後端開發 >C++ >在實體框架中插入實體後如何檢索資料庫產生的 ID?

在實體框架中插入實體後如何檢索資料庫產生的 ID?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-21 11:11:09564瀏覽

How Do I Retrieve a Database-Generated ID After Inserting an Entity in Entity Framework?

在 Entity Framework 中擷取資料庫產生的 ID

使用 Entity Framework (EF) 將物件插入資料庫時,通常需要取得新插入實體的資料庫所產生的 ID。 EF 提供了一種方便的方法來實現此目的:

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

  int id = myNewObject.Id; // ID 现在可用
}</code>

當使用自動產生的 ID(例如 MS SQL 中的 IDENTITY)時,EF 會在每個 INSERT 陳述式後自動執行 SELECT SCOPE_IDENTITY() 查詢。這確保了插入物件的 ID 屬性已正確填入資料庫指派的值。

但是,需要注意的是,此方法僅適用於資料庫產生的 ID。如果您使用自訂產生的 ID(例如 GUID),則需要在將物件新增至上下文之前手動設定 ID 屬性:

<code class="language-csharp">myNewObject.Id = Guid.NewGuid();
context.MyEntities.Add(myNewObject);
context.SaveChanges();</code>

以上是在實體框架中插入實體後如何檢索資料庫產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn