Can't get the ApplyCurrentValues(Entity) to wo

2019-04-09 09:53发布

Comrades, can anyone help me out here, entity framework 5 seems not to have ApplyCurrentValues() method. Is there another way to update the database object in entity framework v5. here is what am trying to do

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

But i have been getting compile error in the ApplyCurrentValues() line

1条回答
Melony?
2楼-- · 2019-04-09 10:35

ApplyCurrentValues is an ObjectContext API method, so first you have to gain access to the objectcontext that is wrapped in the DbContext:

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

Note that the wrapped context does not have members like "Accounts", so you have to use the ObjectContext method itself.

But you can do the same using the DbContext API:

var sourceAcc = new Account { AccountID = account.AccountID });
odc.Entry(account).CurrentValues.SetValues(sourceAcc);
查看更多
登录 后发表回答