Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Mogelijk wilt u uw migraties opslaan in een ander project dan dat waarin uw DbContext
is opgenomen. U kunt deze strategie ook gebruiken om meerdere sets migraties te onderhouden, bijvoorbeeld een voor ontwikkeling en een andere voor upgrades voor release-naar-release.
Aanbeveling
U kunt het voorbeeld van dit artikel bekijken op GitHub.
Stappen
Maak een nieuwe klassebibliotheek.
Voeg een verwijzing toe naar uw DbContext-project.
Verplaats de migratie- en modelmomentopname-bestanden naar de klasse-bibliotheek.
Aanbeveling
Als u geen bestaande migraties hebt, genereert u er een in het project met dbContext en verplaatst u deze. Dit is belangrijk omdat als het migratieproject geen bestaande migratie bevat, de opdracht Add-Migration de DbContext niet kan vinden.
Configureer de migratieassembly:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));
Voeg een verwijzing toe naar uw migratieproject vanuit het opstartproject .
<ItemGroup> <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj" /> </ItemGroup>
Als dit een kringafhankelijkheid veroorzaakt, kunt u in plaats daarvan het basisuitvoerpad van het migratieproject bijwerken:
<PropertyGroup> <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath> </PropertyGroup>
Als u alles goed hebt gedaan, moet u nieuwe migraties aan het project kunnen toevoegen.
dotnet ef migrations add NewMigration --project WebApplication1.Migrations