2016-09-14 54 views
0

我已使用Entity Framework 2創建了簡單的ASP.NET MVC 5網頁。完成並測試此應用程序後,我決定將其移植到我的朋友的計算機。所以我用Visual Studio解決方案將整個文件夾複製到他的電腦上。ASP.NET - 數據庫未自動附加到文件中

不幸的是同時啓動的應用程序出現此錯誤:因爲它已經存在

無法創建文件[數據庫路徑。更改 文件名,然後重試該操作。 CREATE DATABASE失敗...

的問題是,我的朋友不希望創建一個新的數據庫,他要用由我提供的這個特定的數據庫文件(DB.mdf)。所以這個文件應該附加到LocalDB,但不是。

連接字符串:

<connectionStrings> 
    <add name="DefaultConnection" 
     connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB.mdf;Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

我怎樣才能解決這個問題?

+0

它看起來像你的應用程序嘗試創建數據庫名稱是DB.mdf,但你複製它的應用程序。所以你必須查看你的代碼?有一些創建數據庫的方法沒有問題? –

回答

0

確保DB.mdf位於應用程序的「應用程序數據」文件夾中,並在運行應用程序之前將其附加到本地數據庫手動

如果EF沒有看到名爲'db'的附加到localdb的數據庫,它會嘗試創建它,這是因爲它想要創建的文件已經存在而造成的。它不夠聰明,看到該文件,只是知道附加給你。

看起來你是正確的,必須改變沿線的某處。

我認爲這可能對你有更多的幫助。 How does one Attach to an MDF file created by Code First using Server Explorer

+0

我試過了,但不幸的是沒有任何改變。並且在我的計算機上,當我從SQL Server Object Explorer中刪除連接,並運行應用程序時,它會再次創建並且一切正常。 –

+0

所以你有一個數據庫連接到本地數據庫命名數據庫已經仍然看到錯誤? –

+0

不,數據庫沒有連接到LocalDB,我希望這個數據庫在運行應用程序時自動連接,因爲它在我的電腦上(它正好在我的電腦上工作)。 –

相關問題