- 家長(父母)
- 兒童(兒童)
- 一個孩子到另一個(跳躍)的過渡
例如想象書。是書本身,它會是桌子的父母。這本書有頁面,兒童。在頁面上有腳註 - 到其他頁面的鏈接,它跳轉。
對於孩子,我使用複合鍵(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