删除数据库会导致异常,直到我重命名Web.config中的目录

时间:2012-09-19 05:17:34

标签: asp.net-mvc-4 visual-studio-2012

如果我删除了我的aspet-*.mdf文件,然后尝试重新运行我的项目,我会收到此异常

  

初始化数据库时发生异常。有关详细信息,请参阅InnerException。

第一次尝试命中数据库时。如果我然后进入我的主Web.config文件并将“初始目录”位更改为其他名称并重新运行该项目,它运行正常。

为什么呢?我猜它在某个地方缓存了一些东西,它认为目录仍然存在,但它无法找到它?

但我不必更改AttachDBFilename - 文件名可以完全相同,只要我更改目录,它就会重新创建它。

“目录”究竟是什么?如何修复此问题,以便我不必继续修改我的连接字符串?

我正在使用的完整字符串是

<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Sharpix-20120918b;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Sharpix-20120907.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>

只是稍微修改了MVC4应用程序附带的那个。

1 个答案:

答案 0 :(得分:3)

假设您的连接字符串类似于下面的

connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-123123;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-123123.mdf" 

1)使用SQL管理工作室登录数据源      服务器类型:数据库引擎      服务器名称:(LocalDb)\ v11.0      身份验证:Windows身份验证

2)一旦打开,您将看到所有看似神秘创建的数据库。

3)右键单击要删除的数据库,然后按照对话框窗口进行操作。

localDB引擎,新vof VS 2012,存储所有这些开发数据库。如果您实际删除了.mdf,请右键单击数据库名称并删除数据库。忽略警告消息,然后刷新数据库。数据库参考应该消失。

您可以通过选择View,Server Explorer,然后从Server Explorer窗格中选择SQL Server Object Explorer选项,通过VS 2012执行类似的操作。