EF4 Code First:如何仅更新特定字段
如何仅更新实体上的某些字段?
我有一个像这样的用户实体:
public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public DateTime DateCreated { get; set; } public DateTime LastActivity { get; set; } }
因此,例如,如果我想更新用户实体,但又不想更改用户密码,我该怎么做?
目前,我正在使用以下代码更新实体:
using (var _cnt = new STQContext()) { _cnt.Entry(item).State = System.Data.EntityState.Modified; _cnt.SaveChanges(); return; }
试试这个:
using (var _cnt = new STQContext()) { _cnt.Users.Attach(user); _cnt.Entry(user).Property(u => u.PasswordHash).IsModified = true; _cnt.SaveChanges(); }