我想做这样的事情:
context.Entry(oldEntity).CurrentValues.SetValues(newEntity);
我使用EF 4.0,因此我知道我可以使用context.ObjectStateManager
来实现相同的目标
我没有看到任何设置值的方法。我有ChangeObjectState
,ChangeRelationshipState
,ChangeRelationshipState
个可用的功能。
实际上我有这个错误:An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key.
所以我需要修改实体而不是附加它以解决我的问题。
答案 0 :(得分:1)
试试这个:
objectStateManager.GetObjectStateEntry(oldEntity).ApplyCurrentValues(newEntity);