ERROR:
无法附加文件'C:\ Users \ dboyle \ Desktop \ New文件夹 (2)\ OilNGasWeb \ OilNGasWeb \ App_Data \ aspnet-MvcApplication4-20130726115749.mdf'作为数据库'aspnet-MvcApplication4-20130726115749'。
* 删除我的Web.config文件后发生此错误* (将其替换为新项目中的新项目并将默认连接字符串替换为我需要的内容)
编辑:
Sofar我尝试删除.mdf物理文件,也从VS中删除。然后从VS中的包管理器重新运行更新。数据库生成,但同样的错误仍然存在。
我找到了
<ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
<Destination Path="Data Source=ANE-SQL\ANESQLSERVER;Initial Catalog=OilGas;User ID=software;Password=GLvp$102" />
<Object Type="DbCodeFirst">
<Source Path="DBMigration" DbContext="OilNGasWeb.Models.OilNGasDB, OilNGasWeb" MigrationConfiguration="OilNGasWeb.Migrations.Configuration, OilNGasWeb" Origin="Configuration" />
</Object>
</ObjectGroup>
在我的website.pubxml文件中(它仍显示我的旧数据库名称)这个interfier会不会?
答案 0 :(得分:4)
在ASP.Net MVC中使用代码优先迁移进行数据库更新时遇到了奇怪的异常,详情如下,
发回地面细节,
使用Visual Studio从App_Data文件夹中手动删除自动创建的“.mdf”文件。
在包管理器控制台中执行update-database。然后得到以下例外,
System.Data.SqlClient.SqlException(0x80131904):无法将文件'E:\ Backup \ Practice \ MVC4 \ DotNetExamples \ DotNetExamples \ App_Data \ DotnetExamples.mdf'作为数据库'DotnetExamples'附加。
解决方案:
如果删除了DB文件,它仍然会在SqlLocalDB中注册。有时它通过删除DB来修复它。我们可以从命令行执行此操作。
在“开始/程序菜单 - &gt;所有程序 - &gt; Visual Studio 2012-&gt; Visual Studio工具”下打开“VisualStudio的开发人员命令提示”
Run the following commands:
sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0
请删除数据库的.mdf文件和SSMS实例。 现在从包管理器控制台执行“update-database”命令,它将为您创建数据库,没有任何障碍。
答案 1 :(得分:1)
您的SQL Server中可能有一个附加的同名数据库,只需打开SQL删除它并再次运行MVC4。
答案 2 :(得分:0)
我遇到了同样的问题。
我使用 Visual Studio 2015 和 SQL Server LocalDB v12 ,因此接受的答案中的答案对我不起作用。我使用了这些命令(没有版本)并且它起作用了:
sqllocaldb.exe停止
sqllocaldb.exe删除