8

Tengo dos bases de datos, cada una con su propio dbcontext. Configuré dos configuraciones de migración. Puedo agregar una migración para el primer db ust fine (Add-Migration DB1_InitialCreate -ConfigurationTypeName DB1Configuration). Cuando trato de crear una migración inicial con la segunda db usando: Add-Migration DB2_InitialCreate -ConfigurationTypeName DB2Configuration, me sale el siguiente error:Primera migración del código EF con múltiples bases de datos/DbContext

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.

así que lo que dice y actualizar la base de datos con:

Update-Database -ConfigurationTypeName DB1Configuration 

Entonces Intente agregar una migración nuevamente para el segundo db, pero sigo recibiendo el mismo error.

¿Alguna idea sobre cómo lograr que las migraciones funcionen para dos bases de datos/contextos?

Respuesta

10

He podido responder mi propia pregunta. Mis dos clases de configuración existían en el mismo espacio de nombres. Tan pronto como los separé, todo funcionó.

+0

tengo dos DbContexts en el mismo espacio de nombres, pero no entiendas este problema Usando EF 5.0 RTM. – angularsen

+1

+1 - También tuve que separarlos por espacio de nombres (EF 5.0). – rufo

+2

También tuve que separarlos por espacio de nombres (EF 6.x); no fue suficiente con Update-Database -ConfigurationTypeName nameOfConfiguration – subsci

5

Ha sido un tiempo, pero esto podría ser una mejor respuesta a su problema :)

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

Con Entity Framework 6 es fácil.

Es el mismo procedimiento para ambos múltiples DbContexts para una base de datos y para múltiples DbContexts para cada uno su propia base de datos:

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

Cuestiones relacionadas