调用时AcceptChanges
出现以下错误:
AcceptChanges
无法继续,因为对象的键值与ObjectStateManager
. 在调用之前确保键值是唯一的AcceptChanges
。
现在我在网上搜索了很多,但没有找到我想要的答案。
我知道他们是按设计制作的,因此您应该防止通过使用 ID 而不是实体对象来添加已经存在的实体,但我处于无法做到这一点的情况。
我有一个导入和导出,这是通用的,我可以给任何实体对象,它会使其成为 xml 格式,相反,我可以给任何 xml 并获得正确的实体。我不能使用序列化程序,因为我必须以自定义格式制作 xml。
问题在于,当我有更深的嵌套实体之前可能已经添加到主实体中时,我无法当场检查它,所以它们被添加了。导致同一实体可能被多次添加的问题。
当我进一步领先并希望应用更改时,就会发生错误。
现在考虑在防止“多次添加同一实体”的问题上我没有选择 - 问题,我必须在添加它们后处理它。
如何从 中删除重复的实体ObjectStateManager
,以便调用应用更改?