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>(item).State = System.Data.EntityState.Modified;
   _cnt.SaveChanges();
   return;
}

尝试这个:

using (var _cnt = new STQContext())
{
   _cnt.Users.Attach(user);
   _cnt.Entry<User>(user).Property(u => u.PasswordHash).IsModified = true;
   _cnt.SaveChanges();
}
链接地址: http://www.djcxy.com/p/51529.html

上一篇: EF4 Code First: how to update specific fields only

下一篇: Entity Framework: Avoiding Inserting Duplicates