2014-02-06 234 views
7

我一直在嘗試開始使用ASP.NET MVC 4開始。爲什麼mdf文件不會出現在App_Data文件夾中?

並且直接打出問題,根據電子書我應該可以啓動一個新的mvc 4互聯網應用程序,調試和從UI tempate中選擇登錄,然後停止。 這應該在App_Data文件夾中創建mdf文件。我應該可以點擊並在服務器資源管理器中打開。

究竟發生了什麼 - 在我的SQL Express中創建數據庫。

獲取這一步正確的是下面的教程的其餘部分是至關重要的。

我所熟悉的MVC,但主要是前端的東西,所以我想提高我的MVC的數據庫/模式方面的瞭解。

這完全是一個新的項目,未進行任何更改,只需開箱即用的代碼。 在Windows XP的機器,使用Visual Studio 2010

的connectionString -

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-HaveYouSeenMe-20131125091100;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 

任何人都可以請解釋 - 在SQL Express的,爲什麼我的開箱即用的ConnectionString的是創建數據庫和如何創建MDF在本書中建議的App_Data文件夾中。乾杯。

+0

原始數據庫位於C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data中嗎? – Catto

回答

4

只要改變你的連接字符串:

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-HaveYouSeenMe-20131125091100.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/> 

|DataDirectory|是指向你的應用程序的文件夾~/App_Data特殊令牌。

結帳其提供有關的SQLExpress連接字符串的更多細節following article on MSDN

+1

添加新的連接字符串,並在UI上選擇登錄時出現錯誤,LazyInitializer.EnsureInitialized(ref _initializer,ref _isInitialized,ref _initializerLock);高高在上。消息 - ASP.NET簡單成員資格數據庫無法初始化。錯誤頁面 - 無法完成操作。提供的SqlConnection不指定初始目錄。 - 突出顯示 - ((IObjectContextAdapter)上下文).ObjectContext.CreateDatabase(); – mkell

+1

明白了這不會在My SQL Express中創建數據庫是否正確? – mkell

+1

我在鏈接@Darin Dimitrovs提供了一些鏈接,歡呼。 – mkell

0

你缺少AttachDbFilename

<connectionstrings> 
      <add connectionstring="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet-HaveYouSeenMe-20131125091100.mdf;Integrated Security=True;User Instance=True " 
name="ConnectionASPX" providername="System.Data.SqlClient" /> 
    </connectionstrings> 

在地方存儲在App_Data文件夾中的數據庫文件的物理路徑,你可以指定AttachDbFileName設定|DataDirectory|變量。

19

我知道這說回答,但它可能是因爲點擊Solution Explorer中的「顯示所有文件」圖標一樣簡單。默認情況下,.mdf文件會顯示不出來,所以保證了「顯示所有文件」,選擇:)

0

在我的情況,那是因爲我用它來登錄到我的電腦的用戶帳戶是Microsoft帳戶(如Outlook電子郵件地址),而Visual Studio閱讀我的本地用戶帳戶。本地用戶帳戶是C:\ Users \ userName \ Documents \ Visual Studio 2015 \ Projects \ ProjectFolder \ App_Data中的「userName」。

我使用Visual Studio 2015年在Windows 10

該解決方案被證明是簡單的。我只需要去我的電腦設置,選擇帳戶,並選擇使用本地帳戶而不是Microsoft帳戶登錄。

0

您也可以進入服務器資源管理器並右鍵點擊數據連接。然後按「添加連接」,改變數據源「服務器數據庫文件」數據庫文件名(新的或現有的)您在App_Data文件夾中去,如果你不能找到密度纖維板文件,然後瀏覽到該文件夾​​並添加您想要給文件的名稱。

`SulemansStore\SulemansStore\App_Data\SulemansDatabase.mdf` 

我瀏覽到App_Data並添加我的databasefile名Sulemansdatabase.mdf(這部分我加了,如果我創建一個新的數據庫文件)。

1

我花了一些時間來弄清楚這一點,因爲我想在App_Data下附加數據庫,並且什麼也沒有發生。沒有文件被添加。我只知道有兩個選項可以單擊顯示所有文件。

在此圖片上,我點擊顯示所有文件的箭頭紅色。過了一段時間,我嘗試點擊藍色箭頭上的其他顯示所有文件,現在它可以工作。 enter image description here

我希望這可以幫助你,如果你遇到同樣的問題。

1

數據庫很可能是在您的Documents文件夾中創建的。在服務器資源管理器中,右鍵單擊數據庫(在數據連接中),然後單擊瀏覽在SQL Server對象資源管理器中。然後在SQL Server對象資源管理器中右鍵單擊您的數據庫並選擇屬性。在「屬性」窗口中查找「當前連接參數」並查看「數據文件」的值。

爲確保數據庫在您的App_Data文件夾中創建,請在您的連接字符串中插入AttachDbFilename=|DataDirectory|\database_name.mdf

相關問題