EF 4.0 - 使用Entry的另一种方式

时间:2013-09-18 16:16:31

标签: c# entity-framework

我想做这样的事情:

context.Entry(oldEntity).CurrentValues.SetValues(newEntity);

我使用EF 4.0,因此我知道我可以使用context.ObjectStateManager来实现相同的目标

我没有看到任何设置值的方法。我有ChangeObjectStateChangeRelationshipStateChangeRelationshipState个可用的功能。

实际上我有这个错误:An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key.

所以我需要修改实体而不是附加它以解决我的问题。

1 个答案:

答案 0 :(得分:1)

试试这个:

objectStateManager.GetObjectStateEntry(oldEntity).ApplyCurrentValues(newEntity);