我正在使用VS 2012 MVC4代碼首先構建一個Web應用程序。爲了在更改模型後重新創建.mdf
文件,我手動從VS中的app_data目錄中刪除了該文件。我已經做了幾次,沒有任何問題。從app_data中刪除.mdf文件導致異常無法將該文件附加爲數據庫
現在我收到一個異常:
基礎提供失敗的打開。 ==>無法附加文件
MYDB.mdf
作爲數據庫'MYDB'
。
我會感謝您的幫助,如何重新創建.mdf
文件。
謝謝!
我正在使用VS 2012 MVC4代碼首先構建一個Web應用程序。爲了在更改模型後重新創建.mdf
文件,我手動從VS中的app_data目錄中刪除了該文件。我已經做了幾次,沒有任何問題。從app_data中刪除.mdf文件導致異常無法將該文件附加爲數據庫
現在我收到一個異常:
基礎提供失敗的打開。 ==>無法附加文件
MYDB.mdf
作爲數據庫'MYDB'
。
我會感謝您的幫助,如何重新創建.mdf
文件。
謝謝!
使用SQL Server對象資源管理器刪除數據庫,而不是僅刪除解決方案資源管理器中的.mdf文件。否則,SQL Server實例仍然認爲使用了數據庫名稱,並且下次嘗試將數據庫附加到相同的名稱時它將不起作用。查看初始目錄的部分在此MSDN頁:
http://msdn.microsoft.com/en-us/library/jj653752.aspx#initialcatalog
我想你是對的,因爲我直接從解決方案資源管理器刪除.mdf文件。我還讀了你在這裏建議的內容:[link](http://odetocode.com/Blogs/scott/archive/2012/08/14/a-troubleshooting-guide-for-entity-framework-connections-amp- migrations.aspx)如果有人關心閱讀更多。謝謝。 – Shlo
如果您使用的是Visual Studio Express,請勿永遠刪除mdf文件。您將面臨重新安裝,因爲您無法使用許多工具來糾正這種情況。 – DarkNeuron
從SQL Management Studio中再試試刪除它。它會抱怨,有沒有物理文件的任何以上,但會從對象瀏覽器中刪除(你會看到刷新後)
取下,應該工作在連接字符串這條線;)
「AttachDbFilename = | DataDirectory目錄| whateverdatabasename-20130917064511.mdf」
那個什麼固定它對於我來說, 從包管理器控制檯運行這些命令:
sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0
然後:
Update-Database
如果你想看看你的LocalDb數據庫實例被調用,運行'sqllocaldb info'(在上面的答案中稱爲'v11.0',這是默認的vs2012 ef5)。 – Bakanekobrain
很棒的回答。解決了我的問題 – Tseng
只需要做前兩步(停止和刪除)來解決我的問題 – JonAlb
我刪除我的DBContext類,並重新在我的MVC項目中創建它。然後.mdf文件重新創建App_Data
@tdykstra可能有正確的答案,但你從來沒有提到你的連接字符串,所以我們無法確定。 – RickAndMSFT
也許看看這裏 http://stackoverflow.com/questions/17012839/cannot-attach-the-file-mdf-as-database/33718561 –