EntityFramewok更新问题?

ef版本6.0

ef中update一个object的时候,当前的做法是
1.查出来要update的object
2.修改此object中需要更新的字段
3.调用saveChanges方法保存修改

当object字段太多的时候,在第二步就非常麻烦,是否有更好的办法解决此问题?

阅读 2.4k
2 个回答

当然有,第二步实际上就是赋值更新的一步。但是如果有N个字段就需要手动进行N次赋值,主要是冗余在赋值的代码上。
你可以参考MVC中的一个方法,UpdateModel()。

var obj = context.T.find(m=>m.id==id);
UpdateModel();//完成重新赋值
context.Entry(obj).State = System.Data.EntityState.Modified;
context.SaveChanges();

其中UpdateModel是利用反射进行绑定实现,就酱。