0
我想实现的只是更新Db中实体的特定属性。 (模仿像UPDATE Foo Set Status ='kool'WHERE ID = 99的东西)。如何在本例中强制EF更新Db中的一列?
我试试这个:
public void SetFooStatus(Foo foo)
{
var fooToUpdate = new Foo()
{
Id = foo.Id,
Status =foo.Status
};
this.Context.Foos.Attach(fooToUpdate);
this.Context.Entry(fooToUpdate).Property("Status").IsModified = true;
this.Context.ValidateOnSaveEnabled = false;
this.dbSet.Attach(entityToUpdate); // This is IDbSet<Foo>
this.dbSet.Entry(entityToUpdate).State = EntityState.Modified;
this.dbSet.SaveChanges();
}
问题是,当我设置国EntityState.Modified,所有属性都被标记为Chagned -IsModified回报道道。
当我评论出来,然后更新没有完成 - 没有发生变化的Db。
问题: 如何强制EF更新foo对象的Status属性而不触及Db中的其他字段?