【发布时间】:2011-01-28 01:27:11
【问题描述】:
您将如何使用 CTP 5 使用 DbContext 和使用存储库模式进行更新操作?早期使用 EF 4.0,可以像下面这样完成。
_context.Customers.AddObject(item);
_context.ObjectStateManager.ChangeObjectState(item, System.Data.EntityState.Modified);
EF 不提供更新“断开连接”实体的简单方法是否有任何原因。我不想查询数据库并将所有属性复制到从查询返回的对象中。换句话说,EF 应该有接收实体的 update 方法(类似于 Add 方法)。如果实体键已存在于数据库中,则使用当前值更新实体。即我们为什么要“附加”然后将所有属性复制到附加对象。对我来说,复制实体的所有属性只是为了在“断开连接”对象已经存在时进行更新似乎是多余的。
【问题讨论】: