存取實體框架中自動產生的 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 立即反映在實體中。
逐步實施
context.MyEntities.Add(myNewObject)
將新實體新增至實體框架上下文。 context.SaveChanges()
將變更儲存到資料庫。 這會觸發 INSERT
和後續的 SCOPE_IDENTITY()
查詢。 SaveChanges()
之後,myNewObject.Id
屬性將包含資料庫產生的 ID。 此方法保證了自動產生的ID的準確檢索,滿足了原來的要求。
以上是如何使用實體框架擷取新插入實體的自動產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!