我试图实现撤消实体更改的方法。我使用以下程序:
entry.CurrentValues.SetValues(entry.OriginalValues);
问题在于我收到InvalidOperationException
以下消息:
没有调用EntityMemberChanged或EntityComplexMemberChanged 首先调用EntityMemberChanging或EntityComplexMemberChanging 具有相同属性名称的相同更改跟踪器。有关信息 关于正确报告更改,请参阅实体框架 文档。
有什么想解决这个问题吗?
答案 0 :(得分:0)
我在下面的帖子中找到了解决方案:
Undo / Redo with change tracking in Entity Framework
事实上,我使用BindingList
作为集合。因此,我只需将属性RaiseListChangedEvents
设置为false,然后再继续执行撤消/重做更改例程,并在完成后将其恢复为true。