插入實體框架後取得實體 ID
當您使用實體框架將新實體插入資料庫時,您通常需要資料庫指派的 ID 來進行後續操作。 本文介紹如何有效地檢索此 ID。
雖然實體框架提供了 ID 屬性,但它最初保存的是臨時標識符,而不是實際的資料庫 ID。 要取得資料庫產生的 ID,需要使用稍微不同的方法。
解
實體框架優雅地處理自動產生的鍵的 ID 檢索(如 SQL Server 中的 IDENTITY)。 只需將您的實體新增至相關的 ObjectSet 並在 ObjectContext 上呼叫 SaveChanges
即可。然後,您的實體的 ID 屬性將使用資料庫指派的值進行更新。
using (var context = new MyContext()) { context.MyEntities.Add(myNewObject); context.SaveChanges(); int id = myNewObject.Id; // id now contains the database-generated ID }
在內部,實體框架使用 SCOPE_IDENTITY()
(或類似的函數,取決於您的資料庫)在使用自動產生的鍵時取得新插入的實體的 ID。 這可確保您無需額外編碼即可獲得正確的 ID。
以上是如何在使用實體框架插入後檢索資料庫指派的實體 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!