Sql server &引用;已经有一个名为';类别';“在数据库中”;将数据库移动到另一台服务器后

Sql server &引用;已经有一个名为';类别';“在数据库中”;将数据库移动到另一台服务器后,sql-server,asp.net-mvc,entity-framework,Sql Server,Asp.net Mvc,Entity Framework,我已从SQLServerManagementStudio连接到两个MS SQLServer实例。然后,我用Task->generateScript生成了一个包含原始数据库中所有模式和数据的脚本 之后,我在目标实例上创建了具有相同名称的新数据库,并运行生成的脚本。因此,我在新实例上获得了原始数据库的完整副本 但是当我在应用程序(ASP.NET MVC+实体框架)中更改连接字符串时,我得到一个错误“数据库中已经有一个名为“Categories”的对象” 我使用SQLManagementStudio连

我已从SQLServerManagementStudio连接到两个MS SQLServer实例。然后,我用Task->generateScript生成了一个包含原始数据库中所有模式和数据的脚本

之后,我在目标实例上创建了具有相同名称的新数据库,并运行生成的脚本。因此,我在新实例上获得了原始数据库的完整副本

但是当我在应用程序(ASP.NET MVC+实体框架)中更改连接字符串时,我得到一个错误“数据库中已经有一个名为“Categories”的对象”

我使用SQLManagementStudio连接到新的db实例,看不到任何重复的表,也看不到与原始实例的任何差异


出现这种问题的原因是什么?

谢谢Justin,但我的模型没有使用edmx。问题在于实体框架迁移。我的dbcontext构造函数中有一行:

Database.SetInitializer(new MigrateDatabaseToLatestVersion<StoreDbContext, Configuration>());
Database.SetInitializer(新的MigrateDatabaseToLatestVersion());
EF迁移尝试再次创建所有表


所以我只需删除目标数据库中的所有表,用新的连接字符串启动应用程序。迁移会自动创建所有表。之后,我只是从原始数据库传输数据。

迁移过程中似乎有问题,请在“Package Manager Console”中运行add migration命令:

进行一些更改,然后从“初始”文件更新数据库:

Add-Migration Initial -IgnoreChanges
Update-Database -verbose