在 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中文網其他相關文章!