odc.Accounts.Attach(new Account { AccountID = account.AccountID });
odc.Accounts.ApplyCurrentValues(account);
odc.SaveChanges();
但是我在 ApplyCurrentValues()行中遇到了编译错误
答案 0 :(得分:13)
ApplyCurrentValues
是ObjectContext
API方法,因此首先您必须访问包含在DbContext
中的objectcontext:
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);