2012-02-20 55 views
15

我是新來asp.net MVC3平臺accesse模型數據,我感到這是發佈在asp.net網站上的教程如下: http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-started-with-mvc3-part1-csMVC3:無法爲我的模型類檢索元數據時,我想從控制器

但在第五步,我需要從控制器訪問我的模型類數據我面臨一些麻煩,我創建了模型類和上下文類,但是當我想創建一個控制器類使用腳手架模板(控制器與使用實體框架的讀/寫操作和視圖)它給了我一個錯誤,如下所示:

無法檢索「我的模型類的全名」的元數據。 配置系統初始化失敗

+0

可能是因爲您的連接字符串是錯誤的。張貼在這裏。 – 2012-02-20 10:12:14

+0

試試這個!! ...幫我...希望它有助於ü以及... http://stackoverflow.com/questions/8238811/mvc-add-controller-is-unable-to-retrieve-metadata-配置系統失敗,我感謝! – aromore 2012-02-23 21:31:17

+0

這是我在web中的連接字符串。config: <添加名稱= 「MovieDBContext」 的connectionString = 「數據源= | DataDirectory目錄| MVCtest.sdf」 的providerName = 「System.Data.SqlServerCe.4.0」/> 節點 – Hardworker 2012-02-29 05:59:53

回答

5

試試這個...

<add name="MovieDBContext" connectionString="data source=.\SQLEXPRESS;&#xD;&#xA;   Integrated Security=SSPI;&#xD;&#xA; AttachDBFilename=|DataDirectory|\MVCtest.sdf;&#xD;&#xA;   User Instance=true" providerName="System.Data.SqlClient" /> 
+0

是的,我可以補充一下,有時候最好從頭開始。從web.config中刪除任何現有的連接字符串,刪除實體模型(.edmx),然後重新創建它。有時候我覺得有些東西會被調整和搞砸了。另外,如果使用具有相同名稱的部分類,請確保在腳手架時選擇適當的實體類。 – atconway 2012-05-11 17:24:32

+1

+1如果你已經安裝了完整版的SQL Server,請將它指向本地主數據庫'數據源=本地主機;集成安全性= SSPI;數據庫=測試;' – Andomar 2012-09-22 15:07:03

+0

@Andomar我正在使用完整版本的SQL服務器。所以我的服務器中沒有Movie DB存在。我按照OP按照相同的教程。我也得到同樣的錯誤。我的連線有什麼問題?如果我添加了'providerName =「System.Data.SqlClient」',那麼我們可以使用下面的代碼:那麼它就行得通了 - 雖然它對我沒有意義。但是我無法看到電影數據庫是在VS的服務器資源管理器中創建的。所以我不確定我是否在正確的方向。 – bonCodigo 2014-09-30 03:58:23

18

只要改變你的連接字符串提供商類型System.Data.SqlClient

+2

它不起作用,我不確定它應該爲'.sdf'工作。添加控制器後添加連接字符串是一種解決方案。 – Sami 2012-12-02 07:15:15

5

我改變了對的providerName像System.Data.SqlClient的建議在另一個地方。這使我可以在添加控制器步驟中創建控制器。但是當我運行它時,應用程序根本不會顯示電影資源。然後我將它改回到System.Data.SqlServerCe.4.0,就像本教程中的內容一樣。

在閱讀了關於網絡的其他討論後,我發現了另一種方法。

如果在創建控制器類之前不添加連接字符串,那麼它也可以工作。它有點像一個bug。

+2

+1。添加控制器後添加連接字符串是一種解決方案。 – Sami 2012-12-02 07:15:33

+1

同樣適用於我。添加控制器後添加了連接字符串。 – maulik13 2013-04-04 08:05:28

12

沒有錯誤。它只是存在,你必須以反映該模型的結構和遷移到數據庫跟隨並沒有錯誤順序顯示出來:

  1. 創建控制器(還不包括網絡連接字符串。 config或者你會得到上述錯誤。)
  2. 添加連接字符串Web.config與本教程中編寫的內容。
  3. 最後,運行該應用程序。

注:不要手動創建壓縮數據庫,因爲Visual Studio會自動創建和運行它,然後導航至您的瀏覽器,控制器與模型結構沿着地圖給你。只需確保在Web.config中有正確的數據庫路徑。希望這可以幫助!問候。

+0

按照您的提示,我沒有看到名爲電影在VStuio的服務器資源管理器窗口下創建的數據庫 - 雖然您的提示工作。我想看看db。另外我有完整版本的SQL Server。 – bonCodigo 2014-09-30 03:56:19

0

請確保您將連接字符串添加到正確的web.config文件中,因爲有2個(解決方案級和視圖級)。你想在視圖級別添加它。您修復連接字符串然後創建控制器後,您的crud的東西將得到創建就好。謝謝,Maurice Maglalang

相關問題