好吧,讓我解釋一下我正在嘗試做什麼。Asp.Net MVC實體框架父子可重寫值
我有一張名爲WebsitePage的表格,其中包含我網站上的所有頁面以及關於它們的一些信息。然後,我爲我的所有客戶提供客戶表。然後我有另一個名爲CustomerWebsitePage的表,它存儲了WebsitePage表中某些列的客戶值。
因此,使用實體框架,我導入了這三個表。我想要做的是返回一個強類型的WebsitePage列表,該列表具有來自CustomerWebsitePage的任何值,如果有任何值。所以,舉例來說,我的一位客戶爲我的一個網站頁面添加了一個CustomerWebsitePageName。我想在這種情況下返回一個包含CustomerWebsitePageName而不是WebsitePage Name的WebsitePages列表。但是,由於沒有被覆蓋,原來的網頁名稱就是其他所有內容。
這裏的踢球是我的WebsitePage表有一個父/子關係本身的外鍵。所以,我也想同時返回子網站頁面。我嘗試使用函數導入來獲得我想要的,但是當然我失去了ChildPages。
我已經嘗試過幾乎所有使用實體框架和LINQ來獲得我想要的內容。但到目前爲止,幾乎所有我嘗試的結果都是拋出異常。這裏有幾個:
- 的EntityCollection已經初始化
- 實體或複雜類型「MyEntityModel.WebsitePage」不能在LINQ到實體查詢構造。
我有我怎樣才能解決這一切一個想法,這將是對ParentPageID複製到我的WebsitePage表,但這似乎真的違反了很多原則,我真的只是不想要添加與此相關的維護頭痛。
任何人有任何想法如何完成這種類型的事情?
A simple DB diagram. http://images.tehone.com/screenshots/2009-08-17_013009.png
它看起來像你寫了一個壞的LINQ to Entities查詢,但沒有實際看到的是查詢和使用它的代碼,這是很難做到當然。乍看之下,您的數據庫映射看起來確實如此。 – 2009-08-17 13:32:51