Me encontré con el mismo problema y utilicé la siguiente solución (todo desde la Consola del Administrador de paquetes)
PM> Enable-Migrations -MigrationsDirectory "Migrations\ContextA" -ContextTypeName MyProject.Models.ContextA
PM> Enable-Migrations -MigrationsDirectory "Migrations\ContextB" -ContextTypeName MyProject.Models.ContextB
Esto creará 2 carpetas separadas en la carpeta Migraciones. Cada uno contendrá el Configuration.csarchivo generado . Desafortunadamente, aún debe cambiar el nombre de esos Configuration.csarchivos, de lo contrario, habrá quejas por tener dos de ellos. Cambié el nombre de mis archivos a ConfigA.csyConfigB.cs
EDITAR : (cortesía de Kevin McPheat) Recuerde al cambiar el nombre de los archivos Configuration.cs, también cambie el nombre de los nombres de clase y los constructores / EDITAR
Con esta estructura puedes simplemente hacer
PM> Add-Migration -ConfigurationTypeName ConfigA
PM> Add-Migration -ConfigurationTypeName ConfigB
Que creará los archivos de código para la migración dentro de la carpeta junto a los archivos de configuración (esto es bueno para mantener esos archivos juntos)
PM> Update-Database -ConfigurationTypeName ConfigA
PM> Update-Database -ConfigurationTypeName ConfigB
Y por último, pero no menos importante, esos dos comandos aplicarán las migraciones correctas a sus bases de datos correspondientes.
EDITAR 08 de febrero de 2016:
He hecho algunas pruebas con EF7 versión 7.0.0-rc1-16348
No pude hacer funcionar la opción -o | --outputDir. Siguió dandoMicrosoft.Dnx.Runtime.Common.Commandline.CommandParsingException: Unrecognized command or argument
Sin embargo, parece que la primera vez que se agrega una migración, se agrega a la carpeta Migraciones, y una migración posterior para otro contexto se coloca automáticamente en una subcarpeta de migraciones.
Los nombres originales ContextAparecen violar algunas convenciones de nomenclatura, por lo que ahora uso ContextAContexty ContextBContext. Usando estos nombres, podría usar los siguientes comandos: (tenga en cuenta que mi dnx todavía funciona desde la consola del administrador de paquetes y no me gusta abrir una ventana CMD separada para realizar migraciones)
PM> dnx ef migrations add Initial -c "ContextAContext"
PM> dnx ef migrations add Initial -c "ContextBContext"
Esto creará una instantánea del modelo y una migración inicial en la Migrationscarpeta para ContextAContext. Creará una carpeta con el nombre que ContextBcontiene estos archivos paraContextBContext
Agregué manualmente una ContextAcarpeta y moví los archivos de migración ContextAContexta esa carpeta. Luego cambié el nombre del espacio de nombres dentro de esos archivos (archivo de instantánea, migración inicial y tenga en cuenta que hay un tercer archivo debajo del archivo de migración inicial ... designer.cs). Tuve que agregar.ContextA al espacio de nombres, y desde allí el marco lo maneja automáticamente nuevamente.
El uso de los siguientes comandos crearía una nueva migración para cada contexto
PM> dnx ef migrations add Update1 -c "ContextAContext"
PM> dnx ef migrations add Update1 -c "ContextBContext"
y los archivos generados se colocan en las carpetas correctas.