EF Code First Migration with Multiple Database / DbContext

三世轮回 提交于 2019-12-18 11:33:13

问题


I have two database each with their own dbcontext. I've setup two migration configurations. I can add a migration for the first db ust fine (Add-Migration DB1_InitialCreate -ConfigurationTypeName DB1Configuration). When I try to create an initial migration with the second db using: Add-Migration DB2_InitialCreate -ConfigurationTypeName DB2Configuration, I get the following error:

Unable to generate an explicit migration because the following explicit migrations are pending: [201205082215265_DB1_InitialCreate]. Apply the pending explicit migrations before attempting to generate a new explicit migration.

So I do what it says and update the database with:

Update-Database -ConfigurationTypeName DB1Configuration

Then I try to add a migration again for the second db but I keep getting the same error.

Any ideas on how to get migrations working for two databases/contexts?


回答1:


I've been able to answer my own question. My two configuration classes existed in the same namespace. As soon as I separated them, everything worked.




回答2:


With Entity Framework 6 it's easy.

It's the same procedure for both multiple DbContexts for one database and for multiple DbContexts for each their own database:

Enable-Migrations -ContextTypeName <DbContext-Name-with-Namespaces> -MigrationsDirectory:<Migrations-Directory-Name>

Add-Migration -configuration <DbContext-Migrations-Configuration-Class-with-Namespaces> <Migrations-Name>

Update-Database -configuration <DbContext-Migrations-Configuration-Class-with-Namespaces> -Verbose

Source




回答3:


It's been a while, but this could be a better answer to your problem :)

Update-Database -ConfigurationTypeName "SlaveConfiguration"
                -StartupProjectName "FacturatieMVCv2.Data" -Verbose 
                -ConnectionString "connstring;" 
                -ConnectionProviderName "System.Data.SqlClient"


来源:https://stackoverflow.com/questions/10507910/ef-code-first-migration-with-multiple-database-dbcontext

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!