无法使ApplyCurrentValues(Entity)在Entity Framework 5中工作

Ciz*_*hil 5 c# .net-4.5 entity-framework-5

同志们,任何人都可以帮助我,实体框架5似乎没有ApplyCurrentValues()方法.是否有另一种方法来更新实体框架v5中的数据库对象.这是我想要做的

odc.Accounts.Attach(new Account { AccountID = account.AccountID });
  odc.Accounts.ApplyCurrentValues(account);
  odc.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但是我在ApplyCurrentValues()行中遇到了编译错误

Ger*_*old 14

ApplyCurrentValues是一种ObjectContextAPI方法,因此首先您必须获得对包含在以下内容中的objectcontext的访问权限DbContext:

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

请注意,包装的上下文没有像"Accounts"这样的成员,因此您必须使用该ObjectContext方法本身.

但您可以使用DbContext API执行相同操作:

var sourceAcc = new Account { AccountID = account.AccountID });
odc.Entry(account).CurrentValues.SetValues(sourceAcc);
Run Code Online (Sandbox Code Playgroud)