同志们,谁能帮助我在这里,实体框架5似乎没有ApplyCurrentValues()方法。 有另一种方式来更新实体框架V5数据库对象。 这里是我想要做
odc.Accounts.Attach(new Account { AccountID = account.AccountID });
odc.Accounts.ApplyCurrentValues(account);
odc.SaveChanges();
但我一直得到编译错误的ApplyCurrentValues()行
同志们,谁能帮助我在这里,实体框架5似乎没有ApplyCurrentValues()方法。 有另一种方式来更新实体框架V5数据库对象。 这里是我想要做
odc.Accounts.Attach(new Account { AccountID = account.AccountID });
odc.Accounts.ApplyCurrentValues(account);
odc.SaveChanges();
但我一直得到编译错误的ApplyCurrentValues()行
ApplyCurrentValues
是ObjectContext
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);