如果ValidationErrors继续上升,如何使用DbContext更新分离的实体?

时间:2012-05-22 23:51:14

标签: entity-framework

有这个工作:

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属性是必需的。

1 个答案:

答案 0 :(得分:0)

您必须关闭全局验证才能使其正常工作:

void ObjectContextDeactivateUser(User entity)
{
   context.Configuration.ValidateOnSaveEnabled = false;
   context.Users.Attach(entity);
   entity.Active = 0;
   context.SaveChanges();
}

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