0

得到这个工作:

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 属性。

4

1 回答 1

0

您必须关闭全局验证才能使这项工作:

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

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

于 2012-05-23T07:32:36.250 回答