2013-07-23 125 views
1

我是新來的SQL Server Express(不是一般的SQL Server),我有一個問題。我在ASP.NET MVC應用程序中使用實體框架(6-beta)。SQL Server Express和實體框架

我使用SQL Server Management Studio創建了一個數據庫。我可以使用Management Studio和本地Windows用戶帳戶連接到數據庫。 我dind't更改默認配置,所以在SQL Server存儲在數據文件:

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA 

我的數據庫的.mdf文件存儲在此文件夾中。

我的問題是:當我從Visual Studio啓動MVC應用程序時,實體框架無法打開到數據庫的連接。該異常文本是相當unprecise,但內部異常發現,它會嘗試連接到:

C:\Users\<MyUser>\Workspaces\<Solution>\<Project>\App_Data\<Context>.mdf 

我的連接字符串:

"Data Source=.\SQLEXPRESS; Initial Catalog=<Name>; User Instance=False; Integrated Security=True;" 

有誰知道爲什麼實體框架試圖連接到這個文件?我能做什麼?

回答

1

好的。我發現了這個問題。我偶然編輯了錯誤的web.config文件。 Asp.Net MVC 5在Views文件夾中創建第二個web.config文件。 當然,連接字符串必須插入到根文件夾的web.config中。

1

您需要MVC應用程序項目上的web.config條目(如果DBContext位於另一個引用的項目中)。

web.config應該在connectionstrings部分中有一個類似下面的條目(注意YOURCONTEXTNAME應該與您的DBContext類的名稱相匹配)。

<add name="YOURCONTEXTNAME" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=YOURDATABASENAME;Integrated Security=SSPI" 
     providerName="System.Data.SqlClient" /> 
+0

好的。我認爲這很明顯......我在我的Asp.Net項目中使用了web.config。連接字符串的名稱與我的DbContext類相匹配。 – makzr

相關問題