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中的其他字段?