有这个工作:
public partial class User
{
public long ID;
public long Active;
[Required]
public string Name;
}
void ObjectContextDeactivateUser(User entity)
{
/* entity instance has set ID = 3, other props are null */
/* context is ObjectContext */
context.Users.Attach(entity);
entity.Active = 0;
context.ApplyCurrentValues("Users", entity);
context.SaveChanges();
}
有没有办法使用 DbContext 更新该行的Active列? 我尝试的任何方式,我得到ValidationError,Name属性是必需的。
答案 0 :(得分:0)
您必须关闭全局验证才能使其正常工作:
void ObjectContextDeactivateUser(User entity)
{
context.Configuration.ValidateOnSaveEnabled = false;
context.Users.Attach(entity);
entity.Active = 0;
context.SaveChanges();
}
全局验证不支持部分更改的验证。