日期:2014-05-17  浏览次数:20384 次

EF更新问题
RT
我想更新一个实体  例如一个实体10个字段  但是我想更新其中5个  我又不想一个一个字段去写  所以就直接传整个模型咯  但是默认是空模型  我只赋值了5个字段  其他5个字段为空  这样更新会报错  所以我想了解下各位是怎么样处理这个问题的
EF更新模型

------解决方案--------------------
所以就直接传整个模型咯  但是默认是空模型
什么意思,你应该传原始的对象,每个字段都是有值的,怎么叫空模型。
------解决方案--------------------

var newEntity = model.ObjectStateManager.GetObjectStateEntry(传过来的实体);
newEntity.SetModified();
newEntity.SetModifiedProperty("标记为修改的字段1");
newEntity.SetModifiedProperty("标记为修改的字段2");
newEntity.SetModifiedProperty("标记为修改的字段3");
newEntity.SetModifiedProperty("标记为修改的字段4");
newEntity.SetModifiedProperty("标记为修改的字段5");
model.SaveChanges();