2011-01-22 72 views
1

我正在使用EF4作爲數據源的MVC網站上工作。直到今天,EF4的其他項目都沒有問題。我收到一個錯誤,指出EntitySet名稱Entities.Sites找不到。我爲另一個設置幾乎相同(使用不同實體名稱)的數據集創建了另一個EDMX文件,當我嘗試運行鍼對它的LINQ查詢時,它工作正常。找不到EntitySet

我的EDMX有2個表(站點和頁面),從站點到頁面表有1到多個關聯。一切都編譯好,但在運行時,它幾乎就像每個屬性列表中的數據模型失敗。我確實啓用了延遲加載(這是一個.NET 4項目)。

我通過對設計類的代碼加強,當它到達一個呼叫這樣

if((_Pages == null)) 
{ 
    _Pages = base.CreateObjectSet<Page>("Pages"); 
} 

我沒有在designer.cs改變了代碼失敗。我在這個主要牆上。 任何想法我可能做錯了什麼?

+0

請確保您已經整理了名稱空間。在一個MVC項目中,你也有一個`System.Web.UI.Page`類,它可能與你的實體名稱衝突。 – Yakimych 2011-01-22 13:31:26

回答

0

嘗試將您的實體重命名爲其他內容,例如EntityPage(例如)以查看是否已解決此問題。正如@Yakimych所述,這可能僅僅是名稱空間衝突的一種情況

+0

我嘗試將它們重命名,但沒有運氣。最初我試圖在我的項目中爲每個區域配備一個EDMX,但這似乎會導致問題。只要我將所有的數據調用都放到數據模型上,它就可以正常工作。我嘗試將數據模型命名爲空間,但這也不起作用。 – HapiDjus 2011-01-23 21:17:25