2012-08-24 22 views
1

從這個問題在這裏繼鍵:Entity Framework Reverse Engineer using Power Tools - No Primary Keys無法檢索模型的元數據。模型生成過程中檢測到一個或多個驗證錯誤:表中沒有定義

我逆向工程使用實體框架電動工具Beta 2中 這就形成了一個數據庫大量的POCO和具有實體映射的映射文件夾。

當我嘗試使用添加控制器對話框創建一個控制器出現以下消息框上來:

無法檢索巡航模式元。在模型生成期間檢測到一個或多個驗證錯誤: \ tSystem.Data.Entity.EmdEntityTypes :: 巡航表沒有定義密鑰。定義此EntityType的關鍵字。

對於所有相關的表格,我重複了很多次,嘗試創建控制器。

控制器本身從不創建,按下OK後,我返回到添加控制器對話框。

在問題definitley已在它定義了主鍵模型的映射文件:

//主鍵 this.HasKey(T => t.cruise_ID);

我在做什麼錯?

控制器如何找到映射類?

回答

4

我已經能夠複製您收到的錯誤,並且它與嘗試爲模型本身而不是實體類型創建控制器有關。

MVC腳手架旨在針對一個實體,然後相關的上下文 - 你確定你在下拉菜單中選擇正確的項目?

enter image description here

在此圖片:

  • 你的模型下拉(礦山顯示A(MVCExamples.Models))應該是指什麼,我應該是你的巡航實體。
  • 數據上下文應該是被創建的DbContext(礦山顯示實體(MVCExamples.Models))
+0

謝謝你知道了。我沒有意識到逆向工程也會創建上下文。因此我開始創建自己的,當然不包括映射。 –

3

地址:

using System.ComponentModel.DataAnnotations; 

和DB類主鍵呼喚」

0

首先添加

using System.ComponentModel.DataAnnotations; 

確保您已經定義[關鍵]在PR imary密鑰。然後嘗試重新構建項目。

+0

歡迎來到SO。雖然我們感謝您的回答,但如果它能提供其他答案的附加價值會更好。在這種情況下,您的答案不會提供額外的價值,因爲另一個用戶已經發布了該解決方案。如果以前的回答對你有幫助,那麼一旦你有足夠的聲望,你應該將它投票。 –

+0

當然我也有投票給他。 –

相關問題