3

ERROR:

Cannot attach the file 'C:\Users\dboyle\Desktop\New folder (2)\OilNGasWeb\OilNGasWeb\App_Data\aspnet-MvcApplication4-20130726115749.mdf' as database 'aspnet-MvcApplication4-20130726115749'.

*This error occured after deleting my Web.config file *( replacing it with a new one from a new project and replacing the default conection string with what i needed)

EDIT:

Sofar I have tried deleting the .mdf physical file and from VS, also from SQL. Then re-running the update from the package manager within VS. The database gets made, yet same error persists.

I have found

    <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>

in my website.pubxml file ( it still shows my old database name ) will this interfier?

4

3 回答 3

4

在 ASP.Net MVC 中使用代码优先迁移进行数据库更新时,遇到了奇怪的异常,详细信息如下,

发布背景细节,

  1. 使用 Visual Studio 从 App_Data 文件夹中手动删除自动创建的“.mdf”文件。

  2. 在包管理器控制台中执行更新数据库。然后得到以下异常,

System.Data.SqlClient.SqlException (0x80131904):无法将文件“E:\Backup\Practice\MVC4\DotNetExamples\DotNetExamples\App_Data\DotnetExamples.mdf”附加为数据库“DotnetExamples”。

解决方案:

如果您删除 DB 文件,它仍会在 SqlLocalDB 中保持注册状态。有时它通过删除数据库来修复它。我们可以从命令行执行此操作。

在“开始/程序菜单->所有程序->Visual Studio 2012->Visual Studio 工具”下打开“VisualStudio 的开发人员命令提示符”

Run the following commands:

sqllocaldb.exe stop v11.0

sqllocaldb.exe delete v11.0

请删除数据库的 .mdf 文件和 SSMS 实例。现在从包管理器控制台执行“update-database”命令,它将毫无障碍地为您创建数据库。

于 2013-07-30T13:28:21.957 回答
1

您可能在 SQL Server 中有一个同名的附加数据库,只需打开 SQL 删除它并再次运行您的 MVC4。

于 2013-07-29T19:11:23.343 回答
0

我有同样的问题。

我使用了Visual Studio 2015SQL Server LocalDB v12,所以接受答案的答案对我不起作用。我改用这些命令(没有版本)并且它有效:

sqllocaldb.exe 停止

sqllocaldb.exe 删除

于 2016-02-22T11:41:09.597 回答