同志们,谁能在这里帮助我,实体框架 5 似乎没有 ApplyCurrentValues() 方法。有没有另一种方法可以在实体框架 v5 中更新数据库对象。这是我试图做的
odc.Accounts.Attach(new Account { AccountID = account.AccountID });
odc.Accounts.ApplyCurrentValues(account);
odc.SaveChanges();
但是我一直在应用当前值()行中收到编译错误
ApplyCurrentValues
是一个ObjectContext
的API方法,所以首先你必须访问包装在DbContext
中的对象上下文:
odc.Accounts.Attach(new Account { AccountID = account.AccountID });
((IObjectContextAdapter)odc).ObjectContext
.ApplyCurrentValues("Accounts", account);
odc.SaveChanges();
请注意,包装的上下文没有像"Accounts"这样的成员,因此您必须使用 ObjectContext
方法本身。
但是你可以使用 DbContext API 做同样的事情:
var sourceAcc = new Account { AccountID = account.AccountID });
odc.Entry(account).CurrentValues.SetValues(sourceAcc);