2013-11-25 11 views
0

我正在通過電影教程工作hereVisual Studio 2012在用戶/ myuser中創建了mdf而不是Projects/myproject文件夾。爲什麼?

它顯示在Visual Studio中應該在App_Data中創建mdf文件,當我在資源管理器中打開時,它不顯示任何文件。我的電腦上的mdf文件位於c:/ users/myprofile中。如何讓mdf文件自動在項目下的App_Data文件夾中創建?

+0

你的'web.config'中的連接字符串是怎麼看的? – JLe

+0

第一個連接字符串是默認的(duh),第二個是本教程指示我添加的連接字符串: –

+0

回答

0

在連接字符串爲您的上下文

<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=True" providerName="System.Data.SqlClient"/> 

您沒有在數據庫中應創建的目錄指定的(AttachDBFilename屬性)。因此LocalDb在默認位置創建它,這是您的用戶文件夾。在它的前面添加|DataDirectory|\

<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=True;AttachDBFilename=|DataDirectory|\aspnet-MvcMovie-2012213181139.mdf" providerName="System.Data.SqlClient"/> 

|DataDirectory|\App_Data爲Web應用程序所取代。

您也可以從web.config中刪除默認連接(除非您將其用於別的東西,我懷疑它)。

+0

我收到一個錯誤:CREATE在嘗試打開或創建物理文件'C:\ Users \ myprofile \ | DataDi'時,FILE遇到操作系統錯誤123(文件名,目錄名稱或卷標語法不正確。)教區長| _aspnet-MvcMovie-2012213181139.mdf」。 –

+0

對不起!我的意思是AttachDBFilename屬性,而不是Inital Catalog ...更新了我的答案,看看它是否使它更好! – JLe

+0

好,所以這是更接近。如果我將用戶/ myprofile中的mdf複製到app_data文件夾中,並使用您提供的連接字符串修改,則它可以工作。但是,如果mdf尚不存在於該目錄中,它就會失敗(說它不能附加該文件)。如果app_data中不存在,它不應該創建一個新的mdf嗎? –

相關問題