Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kanske vill lagra dina migreringar i ett annat projekt än det som innehåller din DbContext
. Du kan också använda den här strategin för att underhålla flera uppsättningar migreringar, till exempel en för utveckling och en annan för versionsuppgraderingar.
Tips/Råd
Du kan visa den här artikelns exempel på GitHub.
Steg
Skapa ett nytt klassbibliotek.
Lägg till en referens till ditt DbContext-projekt.
Flytta migreringarna och modellögonblicksfilerna till klassbiblioteket.
Tips/Råd
Om du inte har några befintliga migreringar genererar du en i projektet som innehåller DbContext och flyttar den. Det här är viktigt eftersom om migreringsprojektet inte innehåller någon befintlig migrering kan kommandot Add-Migration inte hitta DbContext.
Konfigurera migreringssammansättningen:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));
Lägg till en referens till migreringsprojektet från startprojektet .
<ItemGroup> <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj" /> </ItemGroup>
Om detta orsakar ett cirkulärt beroende kan du uppdatera basutdatasökvägen för migreringsprojektet i stället:
<PropertyGroup> <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath> </PropertyGroup>
Om du gjorde allt korrekt bör du kunna lägga till nya migreringar i projektet.
dotnet ef migrations add NewMigration --project WebApplication1.Migrations