Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Migrace můžete chtít uložit do jiného projektu, než je ten, který obsahuje .DbContext
Tuto strategii můžete použít také k údržbě více sad migrací, například jedné pro vývoj a další pro upgrady typu release-to-release.
Návod
Ukázku tohoto článku najdete naGitHubu .
Postup
Vytvořte novou knihovnu tříd.
Přidejte odkaz na projekt DbContext.
Přesuňte migrace a soubory snímků modelu do knihovny tříd.
Návod
Pokud nemáte žádné existující migrace, vygenerujte ji v projektu obsahujícím DbContext a poté ji přesuňte. To je důležité, protože pokud projekt migrace neobsahuje existující migraci, příkaz Add-Migration nebude moct najít DbContext.
Nakonfigurujte sestavení migrace:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));
Přidejte odkaz na projekt migrace z výchozího projektu.
<ItemGroup> <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj" /> </ItemGroup>
Pokud to způsobí cyklické závislosti, můžete místo toho aktualizovat základní výstupní cestu projektu migrace.
<PropertyGroup> <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath> </PropertyGroup>
Pokud jste všechno udělali správně, měli byste být schopni do projektu přidat nové migrace.
dotnet ef migrations add NewMigration --project WebApplication1.Migrations