我正在经历 EF 的 A** 的痛苦,根据谷歌,我不是唯一一个遇到这个问题的人。我有一个从 EF 获得的对象列表,然后我将此列表设置为 itemscontrol 的 DataContext (WPF)。因为,在“使用”块之后,上下文被破坏了,当我希望保存更改时,我必须使用相同的 ID 进行新的查询和对象。我尝试将它附加到上下文,我尝试保存更改,但它们没有被存储。
有些人已经尝试了几件事,但也许有人知道这个问题的方便和聪明的解决方案吗?
我试过了Attach()
,AttachTo()
没有任何效果
PS这是EF 4.0
已编辑 - 已解决
在附加和保存之间添加以下代码行解决了 EF 4.0 中的所有问题
_context.ObjectStateManager.ChangeObjectState(modifiedEntity, System.Data.EntityState.Modified);
在 EF 4.1 中
_context.Entry(modifiedEntity).State = System.Data.EntityState.Modified;