gpt4 book ai didi

c# - 无法让 ApplyCurrentValues(Entity) 在 Entity Framework 5 中工作

转载 作者:太空狗 更新时间:2023-10-29 22:14:13 25 4
gpt4 key购买 nike

同志们,谁能帮帮我, Entity Framework 5好像没有ApplyCurrentValues()方法。有没有另一种方法来更新 Entity Framework v5 中的数据库对象。这是我要做的

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

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

最佳答案

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);

关于c# - 无法让 ApplyCurrentValues(Entity) 在 Entity Framework 5 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com