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



如果我删除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应用程序附带的应用程序略有修改。

假设您的连接字符串类似于以下内容

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

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

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

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

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

可以通过 VS 2012 执行类似的操作,方法是依次选择"视图"、"服务器资源管理器",然后从"服务器资源管理器"窗格中选择"SQL Server 对象资源管理器"。

最新更新