我正在使用Brock Allen出色的MembershipReboot库在我的.NET应用程序中提供身份服务。根据MembershipReboot入门,MembershipRebot使用实体框架(EF)进行数据访问。
示例应用程序包含SQL Server数据库MembershipReboot.mdf。我从该数据库导出了架构和数据,并将其导入到应用程序的数据库中(MyTestApp.mdf-请参阅下文)。
您可以看到MembershipReboot.mdf的来源,因为MembershipReboot附带的示例定义了以下连接字符串::
<add name="MembershipReboot" connectionString="Data Source=(LocalDb)bla;Initial Catalog=MembershipReboot;Integrated Security=True" providerName="System.Data.SqlClient"/>
我为我的应用程序的数据库设置了以下连接字符串:
<add name="DefaultConnectionString" connectionString="Server=(LocalDb)bla;AttachDbFilename=|DataDirectory|MyTestApp.mdf;Initial Catalog=MyTestApp;Integrated Security=True" providerName="System.Data.SqlClient" />
直到最近,一切都很好。然后,在我的应用程序启动时,我开始间歇性地在第一次访问数据库时收到以下错误:
无法附加文件"C:\Users\mkrieger\Google"驱动器\Projects\MyTestApp\MyTestApp\App_Data\MembershipReboot.mdf'作为数据库"MembershipReboot"。
描述:在执行期间发生未处理的异常当前web请求。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:无法附加文件"C:\Users\mkrieger\Google Drive\Projects\MyTestApp\MyTestApp\App_Data\MembershipReboot.mdf"作为数据库"MembershipReboot"。
我对我的应用程序的目录进行了全文搜索,然后对可执行文件和所有二进制文件进行了字符串搜索;MembershipReboot.mdf";但是空荡荡的。
我错过了什么?
Brock Allen以前见过这个问题(这个问题与MembershipReboot或任何特定的库无关)。
是的,我以前见过这个错误。当您删除sql express文件(mdf等)但不从数据库服务器中删除数据库时,也就是说,您需要从sql server Mgmt Studio或Visual Studio中的sql server资源管理器中删除数据库。
这对我很有用。