Usar una migración independiente Project
Es posible que desee almacenar las migraciones en un proyecto diferente al que contiene DbContext . También puede usar esta estrategia para mantener varios conjuntos de migraciones, por ejemplo, uno para el desarrollo y otro para las actualizaciones de versión a versión.
Sugerencia
Puede ver en GitHub un ejemplo de este artículo.
Pasos
Cree una nueva biblioteca de clases.
Agregue una referencia al proyecto de DbContext.
Mueva las migraciones y los archivos de instantánea del modelo a la biblioteca de clases.
Sugerencia
Si no tiene ninguna migración existente, genere una en el proyecto que contiene DbContext y muévela. Esto es importante porque si el proyecto de migraciones no contiene una migración existente, el comando Add-Migration no podrá encontrar DbContext.
Configure el ensamblado de migraciones:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));Agregue una referencia al proyecto de migraciones desde el proyecto de inicio.
<ItemGroup> <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj"> </ItemGroup>Si esto provoca una dependencia circular, puede actualizar la ruta de acceso de salida base del proyecto de migraciones en su lugar:
<PropertyGroup> <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath> </PropertyGroup>
Si ha hecho todo correctamente, debería poder agregar nuevas migraciones al proyecto.
dotnet ef migrations add NewMigration --project WebApplication1.Migrations