使用 Entity Framework 更新單一欄位
本文介紹如何使用 Entity Framework 更新 Users
表中的特定欄位(密碼)。以下是 Ladislav 提供的方法的改進版本:
建立實體物件:
建立一個 User
類別的實例,並將它的 Id
和 Password
屬性設定為要更新的值。
開啟 DbContext:
使用 using
區塊建立一個 MyEfContextName
上下文類別的實例,確保其正確釋放資源。
附加實體:
呼叫 Users
DbSet 的 Attach
方法,傳入你在步驟 1 中建立的 User
物件。這會將實體新增到上下文的變更追蹤器中,即使它不是最初查詢到的。
修改屬性:
使用 Entry
和 Property
方法存取 Password
屬性,並將其 IsModified
屬性設為 true
。這會告訴 EF 該值已更改,需要更新。
儲存變更:
呼叫上下文上的 SaveChanges
方法將變更持久保存到資料庫。
以下是更新後的程式碼:
<code class="language-csharp">public void ChangePassword(int userId, string password) { var user = new User { Id = userId, Password = password }; using (var db = new MyEfContextName()) { db.Users.Attach(user); db.Entry(user).Property(x => x.Password).IsModified = true; db.SaveChanges(); } }</code>
以上是如何更新實體框架中的單一欄位(密碼)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!