无法获取ApplyCurrentValues(实体)的实体框架5工作(Can't get t

2019-08-08 16:38发布

同志们,谁能帮助我在这里,实体框架5似乎没有ApplyCurrentValues()方法。 有另一种方式来更新实体框架V5数据库对象。 这里是我想要做

odc.Accounts.Attach(new Account { AccountID = account.AccountID });
  odc.Accounts.ApplyCurrentValues(account);
  odc.SaveChanges();

但我一直得到编译错误的ApplyCurrentValues()

Answer 1:

ApplyCurrentValuesObjectContext API方法,所以首先你要访问的是被包裹在了ObjectContext中DbContext

odc.Accounts.Attach(new Account { AccountID = account.AccountID });
((IObjectContextAdapter)odc).ObjectContext
    .ApplyCurrentValues("Accounts", account);
odc.SaveChanges();

需要注意的是包装的情况下没有成员一样“帐户”,所以你必须使用ObjectContext方法本身。

但是你可以使用的DbContext API做同样的:

var sourceAcc = new Account { AccountID = account.AccountID });
odc.Entry(account).CurrentValues.SetValues(sourceAcc);


文章来源: Can't get the ApplyCurrentValues(Entity) to work in Entity Framework 5