在MVC应用程序中,我有一个在经典视图/编辑/创建模式中使用的大对象。
当用户编辑对象时,我将其保存为:
public bool SetMyObject(MyObject newObject) {
MyObject current = GetObjectById(newObject.Id);
current.Prop1 = newObject.Prop1
...
current.PropN = newObject.PropN
db.SaveChanges();
}
MyObject相当大,所以我想知道有没有更好的方法来做到这一点,不涉及每个属性的分配。例如,db.MyObject.UpdateObject(current, tnew)
行中的某些内容。
泰
答案 0 :(得分:3)
您可以使用ApplyPropertyChanges
方法。
将已分离对象的属性更改应用于已附加到对象上下文的对象。
public bool SetMyObject(MyObject newObject)
{
db.ApplyPropertyChanges("MyObjectSet", newObject);
db.SaveChanges();
}
(其中“MyObjectSet”是对象所属的实体集的名称)