我正在使用C#在ASP.NET MVC 2中創建一個網站。我設計了一幫有多對多的關係,類似於下表的數據庫:需要幫助使用實體的ASP.NET MVC 2框架
祖父母 - 多對多 - 家長
和
父 - 多對多 - 兒童
我使用實體框架來製作所有的實體類,並且現在正在處理存儲庫類中的一個函數,該函數添加了一個GrandParent。
它試圖創建子,將它添加到父,然後父添加到祖父母,然後通過使用命令
entities.GrandParents.AddObject(newGrandParent);
entities.SaveChanges();
它崩潰的SaveChanges()
符合加祖父母到數據庫錯誤:
Unable to update the EntitySet 'JunctionPartentsChilds' because it has a DefiningQuery and no element exists in the ModificationFunctionMapping element to support the current operation.
編輯: 我可以通過刪除所有DefiningQuery元素的自動生成的代碼修復的錯誤,現在我就應該是更具描述性的,但我在同一行收到一個錯誤仍然處於虧損狀態。
錯誤是:Invalid object name 'JunctionPartentsChilds'
它會拋出一個UpdatingException。
任何想法發生了什麼問題?由於存在多對多的關係,您是否必須以特殊順序添加到數據庫中?
謝謝!
聽起來像一個奇怪的數據庫架構。 *所有*你的桌子有*真實* PK和FK?你使用任何視圖或特效?您不應該使用適當的模式來獲取「DefiningQuery」。 – 2010-07-22 17:18:26
請添加/詳細說明您的數據庫模式以及它們之間的關係。如果你的模式是正確的,那麼你添加的方式不正確。 在第一次猜測,似乎你是以錯誤的順序/方式添加對象。 – renegadeMind 2010-07-23 09:28:18