Entity framework 使用多数据库/DbContext进行EF代码首次迁移

Entity framework 使用多数据库/DbContext进行EF代码首次迁移,entity-framework,code-first,entity-framework-migrations,multiple-databases,Entity Framework,Code First,Entity Framework Migrations,Multiple Databases,我有两个数据库,每个数据库都有自己的dbcontext。我已经设置了两种迁移配置。我可以为第一个数据库添加迁移(addmigrationdb1\u InitialCreate-ConfigurationTypeName DB1Configuration)。当我尝试使用:addmigrationdb2\u InitialCreate-ConfigurationTypeName DB2Configuration创建第二个数据库的初始迁移时,我得到以下错误: 无法生成显式迁移,因为以下显式迁移处于挂起

我有两个数据库,每个数据库都有自己的dbcontext。我已经设置了两种迁移配置。我可以为第一个数据库添加迁移(
addmigrationdb1\u InitialCreate-ConfigurationTypeName DB1Configuration
)。当我尝试使用:
addmigrationdb2\u InitialCreate-ConfigurationTypeName DB2Configuration
创建第二个数据库的初始迁移时,我得到以下错误:

无法生成显式迁移,因为以下显式迁移处于挂起状态:[20120508215265\u DB1\u InitialCreate]。在尝试生成新的显式迁移之前,应用挂起的显式迁移

所以我照上面说的做,用以下内容更新数据库:

Update-Database -ConfigurationTypeName DB1Configuration
然后,我尝试为第二个db再次添加迁移,但我一直收到相同的错误


关于如何让迁移在两个数据库/上下文中工作,有什么想法吗?

我已经能够回答我自己的问题了。我的两个配置类存在于同一命名空间中。我一把他们分开,一切都好了。

已经有一段时间了,但这可能是解决你问题的更好办法:)


使用实体框架6很容易

对于一个数据库的多个DbContext和每个数据库的多个DbContext,都是相同的过程:

启用迁移-上下文类型名称-迁移目录:

添加迁移-配置

updatedatabase-configuration-Verbose


我在同一名称空间中有两个DBContext,但不存在此问题。使用EF5.0RTM。我还必须按名称空间(EF6.x)将它们分开;仅更新数据库配置类型名称配置名称是不够的
Update-Database -ConfigurationTypeName "SlaveConfiguration"
                -StartupProjectName "FacturatieMVCv2.Data" -Verbose 
                -ConnectionString "connstring;" 
                -ConnectionProviderName "System.Data.SqlClient"