假设已对 EF 4 中的分离实体进行了更改。如果我们想在重新附加实体时保存这些更改,是否可以使用 ApplyCurrentValues 执行此操作而无需查询数据库以获取原始实体?我不这么认为,但我希望有人能证实这一点。
using (var ctx = new BAEntities())
{
var firstCust = (from c in ctx.Contacts select c).First();
Console.WriteLine(firstCust.FirstName);
ctx.Contacts.Detach(firstCust);
firstCust.FirstName = "Modified Value";
ctx.Contacts.Attach(firstCust);
ctx.ApplyCurrentValues("Contacts", firstCust);//Does not work
//ctx.ObjectStateManager.ChangeObjectState(firstCust, EntityState.Modified); //Works with that line
ctx.SaveChanges( );
}
谢谢