如果我删除了我的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应用程序附带的那个。
答案 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执行类似的操作。