如何仅更新实体上的某些字段?
我有一个像这样的用户实体:
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>(item).State = System.Data.EntityState.Modified;
_cnt.SaveChanges();
return;
}
答案 0 :(得分:4)
试试这个:
using (var _cnt = new STQContext())
{
_cnt.Users.Attach(user);
_cnt.Entry<User>(user).Property(u => u.PasswordHash).IsModified = true;
_cnt.SaveChanges();
}