从app_data中删除.mdf文件会导致异常无法将文件作为数据库附加

时间:2012-10-21 19:35:44

标签: asp.net-mvc entity-framework ef-code-first

我首先使用VS 2012 MVC4代码构建Web应用程序。为了在更改模型后重新创建.mdf文件,我手动从VS中的app_data目录中删除了该文件。我之前做过几次没有任何问题。

现在我收到一个例外:

  

底层提供程序在Open上失败。 ==>无法附加文件   MYDB.mdf作为数据库'MYDB'

感谢您提供有关如何重新创建.mdf文件的帮助。

谢谢!

6 个答案:

答案 0 :(得分:101)

是什么修复了它, 从程序包管理器控制台运行以下命令:

  sqllocaldb.exe stop v11.0
  sqllocaldb.exe delete v11.0

然后:

  Update-Database

答案 1 :(得分:31)

使用SQL Server对象资源管理器删除数据库,而不是仅删除解决方案资源管理器中的.mdf文件。否则,SQL Server实例仍然认为使用了数据库名称,并且下次尝试将数据库附加到同一名称时,它将无法工作。请参阅此MSDN页面中的初始目录部分:

http://msdn.microsoft.com/en-us/library/jj653752.aspx#initialcatalog

答案 2 :(得分:4)

尝试从SQL Management Studio再次删除它。它会抱怨没有物理文件,但会从对象浏览器中删除(刷新后会看到)

答案 3 :(得分:4)

从应该起作用的连接字符串中删除此行;)

“AttachDbFilename = | DataDirectory目录| whateverdatabasename-20130917064511.mdf”

答案 4 :(得分:1)

退出localhost iis express并再试一次。

答案 5 :(得分:0)

我删除了我的DBContext类,并在我的MVC项目中重新创建它。然后在App_Data

中重新创建.mdf文件