这个工作:
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 更新该行活动列?无论我尝试哪种方式,我都会得到验证错误,该名称属性是必需的。
必须关闭全局验证才能完成此操作:
void ObjectContextDeactivateUser(User entity)
{
context.Configuration.ValidateOnSaveEnabled = false;
context.Users.Attach(entity);
entity.Active = 0;
context.SaveChanges();
}
全局验证不支持部分更改的验证。