使用實體框架來取得插入實體的識別
實體框架提供了一種方便的方法將實體插入資料庫。但是,取得插入實體的資料庫分配的 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中文網其他相關文章!