2012-04-02 46 views
0

運行數據庫第一個項目時出現映射錯誤。我知道我應該修復它們的位置,但是由於我已經完成了數據庫並且我無法弄清楚如何修復它,這已經有一段時間了。我似乎改變的東西越多,錯誤越多。C#ASP.NET EF數據庫優先:類型未映射

歡迎任何關於這些映射問題或解決方案的教程,指南或博客文章的鏈接。我無法通過Google找到任何解釋我應該改變的內容。

類型'Paycento_Models.Domain.Campaign'未映射。使用忽略方法 或NotMappedAttribute數據註釋來檢查 類型是否未被明確排除。驗證類型是 定義爲一個類,不是原始的,嵌套的或通用的,並且不會從EntityObject繼承 。

描述:在執行 當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.InvalidOperationException:類型 'Paycento_Models.Domain.Campaign'未映射。檢查使用Ignore方法或 NotMappedAttribute數據註釋未明確排除類型 。驗證類型是否定義爲 作爲類,不是原始的,嵌套的或通用的,並且不從EntityObject繼承 。

enter image description here


enter image description here

+0

你在EDMX文件(從數據庫更新)中做了更新嗎?你也可以張貼競選的映射,而不是頁面? – daryal 2012-04-02 08:31:17

+0

@daryal,它不是從數據庫生成的,我從一個書面的ERD開始。 *在Campaign映射中添加屏幕快照 – Reinard 2012-04-02 08:36:41

+0

在頁面映射Campaign_Id未映射的情況下,應將其映射到相關列。 – daryal 2012-04-02 08:39:55

回答

0

這個問題是因爲你的模式是不知道的數據庫更改。爲了解決此問題,請右鍵單擊您的模型並選擇從數據庫更新。不知何故,你的模型在xml中沒有正確的存儲模型。

+0

我沒有數據庫,我在紙上覆制到VS. – Reinard 2012-04-02 09:30:15

+0

我不認爲只是在紙上覆制ERD就足夠了。 edmx文件使用存儲,概念和映射相關的XML元素。只需使用xml編輯器打開打開的edmx文件並進行調查即可。據我所知,如果你沒有首先使用代碼,EF沒有定義任何數據庫就不能直接工作。在edmx xml中,可能有些存儲節點不存在,因此未定義某些映射。這是你問題的根源。與EF沒有直接關係。 – daryal 2012-04-02 10:16:57