我在WPF应用程序中使用实体框架核心。
我有一个这样的模型:
Parent_Entity
_ ID
_ Child_Entity的集合
_ Current_Child_Entity(未映射)
Current_Child_Entity是集合之一。例如:
子实体的集合:
child1
child2
Current_Child_Entity :
child2
当我尝试保存更改时,我会执行以下操作:
1)AddOrUpdate(Current_Child_Entity)
2)AddOrUpdate(Parent_Entity)
我使用的AddOrUpdate()方法是通过以下方式实现的:
Math.cos()
我的问题是,当我第一次更新(使用Current_Child_Entity)时,一切似乎都很好。
但是,当我进行第二次更新以保存父实体时,它在子实体集合中添加了两个具有相同ID,相同属性的Child_Entity的副本。例如,如果我在“子实体集合”中更新了child2,则会得到:
child1
child2
child2
当我在AddOrUpdate()中执行此操作时:
Context.Entry(entity).State = EntityState.Modified;
为什么在此指令中在集合中完成子实体的复制?
有些事情我不理解,你能解释一下我做错了什么吗?
谢谢您的帮助。