(凌晨3点,所以请耐心等待!)
这是EF6。实体Procedures
和Points
之间存在多对多关系。我创建了一个名为Procedure
的新P
对象,并将其中一个现有Point
对象添加到其Points
集合中。然后我将P
发送给EF进行保存:
context.Procedures.Add(P);
context.SaveChanges();
不幸的是,这会尝试将Point
对象也插入到数据库中,这显然会因重复的主键错误而失败。
在其他几件事中,我检查了context.ChangeTracker.Entries()
的值,令我惊讶的是,它包含21个条目而不是2个。经过进一步调查,看起来EF正在为递归{{1}创建条目} 关系。我该如何解决这个问题?
(现在凌晨4点,:))
我使用以下代码使其正常工作:
Procedure > Point > Procedure
真的有正确的方法吗?