如何使用 DbContext 更新分离的实体,如果验证错误不断上升



这个工作:

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();
}

全局验证不支持部分更改的验证。

最新更新