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

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

Patricia Arquette
Patricia Arquette原創
2025-01-21 11:07:10307瀏覽

How to Retrieve the Database-Generated ID After Inserting an Entity with Entity Framework?

使用實體框架來取得插入實體的識別

實體框架提供了一種方便的方法將實體插入資料庫。但是,取得插入實體的資料庫分配的 ID 可能是一個挑戰。本文透過探討兩種方法來解決這個問題。

方法一:使用已指派的實體 ID

本文首先介紹實體框架網站上的解決方案,該方案涉及從實體物件本身取得已指派的 ID。雖然此方法傳回實體的內部 ID,但如果刪除記錄,它可能與資料庫表的標識不一致。

方法二:擷取資料庫識別

更可靠的方法是檢索資料庫產生的標識。這可以透過簡單地將實體新增至 ObjectSet 並對相關的 ObjectContext 呼叫 SaveChanges 來實現。實體框架會自動使用資料庫指派的識別來設定實體的 Id 屬性:

<code>using (var context = new MyContext())
{
  context.MyEntities.Add(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // 数据库标识可用
}</code>

實體框架在每次 INSERT 後執行 SELECT SCOPE_IDENTITY() 查詢以檢索產生的標識,確保準確檢索 ID。

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

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