不确定此问题是EF特定的还是Devforce实体管理器的问题。
不幸的是很难提供复制代码,但这里有快速描述和解决方案..
我们的屏幕工作方式是 - 我们提供干净的EntityManager实体图。然后用户改变实体,最后提交更改。用户还可以在工作时提交更改。
我们有以下架构:
Trip
-TripStops
-TripAssignments
--FromTripStop
--ToTripStop
所以,旅行分配是Trip的孩子。但他们也提到了旅行站。 (来自和)
场景1: - 工作 - 1.删除行程停止 2.将旅行分配重新分配给其他站点 3.保存实体更改
场景2: - 工作 - 1.删除行程停止 2.添加新的旅程停止 2.将旅行分配重新分配给新站点 3.保存实体更改
场景3: - 失败 - 1.删除行程停止 2.保存实体更改 3.添加新的旅程停止 4.将旅行分配重新分配给新站点 5.保存实体更改
因此,看起来当EF提交更改时会删除它转储实体但保留了什么?没有正确清理?
消息也没有意义因为看起来很好,所以看起来DevForce EM中的规则搞砸了。
违反了多重性约束。关系“Model.FK_TripAssignment_TripStop_ToTripStopKey”的角色“TripStop”具有多重性1或0..1
修改
我们正在开发DevForce 7.3(Silverlight)(最新) 使用模式查看图像,我们不首先使用代码。数据库设计是合法的。它也可以在大多数情况下工作,在现实生活中,用户甚至看不到错误,因为它只是在这个特定情况下。