如何使用實體框架擷取新插入實體的自動產生的 ID?
Jan 21, 2025 am 11:02 AM存取實體框架中自動產生的 ID
實體框架簡化了資料庫交互,但檢索新插入記錄的自動產生的 ID 有時可能很棘手。本指南闡明如何有效取得此 ID。
挑戰
許多開發人員在使用實體框架新增實體後取得資料庫指派的主鍵時遇到困難。 簡單地存取實體的 ID 屬性可能不會總是產生正確的資料庫產生的值。
解
實體框架提供了一個簡單的方法來檢索自動產生的 ID:
using (var context = new MyContext()) { context.MyEntities.Add(myNewObject); context.SaveChanges(); int id = myNewObject.Id; // The auto-generated ID is now available }
登入後複製
在處理自動遞增主鍵時,實體框架會在每個 SELECT SCOPE_IDENTITY()
操作後自動合併一個 INSERT
語句。 這可確保新產生的 ID 立即反映在實體中。
逐步實施
-
新增實體: 使用
context.MyEntities.Add(myNewObject)
將新實體新增至實體框架上下文。 -
儲存變更:呼叫
context.SaveChanges()
將變更儲存到資料庫。 這會觸發INSERT
和後續的SCOPE_IDENTITY()
查詢。 -
檢索 ID: 在
SaveChanges()
之後,myNewObject.Id
屬性將包含資料庫產生的 ID。
此方法保證了自動產生的ID的準確檢索,滿足了原來的要求。
以上是如何使用實體框架擷取新插入實體的自動產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)