EF5 - 更新整个实体,而不是简单的属性

时间:2013-05-12 20:12:22

标签: entity-framework-5 dbcontext

像这样:

var Person = context.Persons.Find(10);
Persons UpdatedPerson = new Persons ({...});
Person = UpdatedPerson;
context.SaveChanges();

但是上下文是“未改变的”?

1 个答案:

答案 0 :(得分:0)

var Person = context.Persons.Find(10);
Persons UpdatedPerson = new Persons ({...});
context.Entry(Person).CurrentValues.SetValues(UpdatedPerson);
context.SaveChanges();

UpdatedPerson必须与10具有相同的键值(Person)。这将更新Person的所有标量和复杂属性,但不会更新Person的导航属性相关的实体。