- 家长(父母)
- 儿童(儿童)
- 一个孩子到另一个(跳跃)的过渡
例如想象书。是书本身,它会是桌子的父母。这本书有页面,儿童。在页面上有脚注 - 到其他页面的链接,它跳转。
对于孩子,我使用复合键(new {ChildId,ParentId}),因为通过与书籍类比,第1页可以在各种书籍中找到。在现实世界中,字符串的ID包含一个代码。
表跳跃。它描述了一个脚注。将转换的页面ID(SourceChildId)和将作为转换的页面ID(TargetChildId)。由于转换发生在使用两个键 - ParentId的一个字段的同一本书(Parent)中。
我认为这个结构是合乎逻辑的,直到我试图Udpdate-Database命令时,我得到一个异常:“与检测到的参照完整性约束的循环关系。 这个戒指引用了我最喜欢的桌子跳跃...我真的很喜欢他们的lokalitetu,但是......
请帮我模拟CodeFirst的模型数据以完成此任务(与书籍,页面和页面的脚注)。附测试项目。
Visual Studio项目。 〜10MB。谷歌驱动器:
https://drive.google.com/open?id=0B2Je5INk3Cy2bXdfWHZSTm1lUms
最良好的祝愿, 谢尔盖
我觉得这个问题:
2)在设置Parent.FirstChildId我是调用context.SaveChanges()
解决问题的项目之前SEED()原因 Jump.ParentId和 Jump.Source.ParentId can(teoreticaly)可以不一样... 可以通过flyent API设置吗? – WSA