使用個別移轉專案
您可能想要將移轉儲存在與包含 您 DbContext
的專案不同的專案中。 您也可以使用此策略來維護多個移轉集,例如,一組用於開發,另一組用於發行對發行升級。
提示
您可以檢視本文中的 GitHut 範例。
步驟
建立新的類別庫。
新增 DbCoNtext 專案的參考。
將移轉和模型快照集檔案移至類別庫。
提示
如果您沒有現有的移轉,請在包含 DbCoNtext 的專案中產生一個移轉,然後移動它。 這很重要,因為如果移轉專案不包含現有的移轉,Add-Migration 命令將無法找到 DbCoNtext。
設定移轉元件:
services.AddDbContext<ApplicationDbContext>( options => options.UseSqlServer( Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("WebApplication1.Migrations")));
從 啟動 專案新增移轉專案的參考。
<ItemGroup> <ProjectReference Include="..\WebApplication1.Migrations\WebApplication1.Migrations.csproj" /> </ItemGroup>
如果這會導致迴圈相依性,您可以改為更新移轉 專案的基底輸出路徑 :
<PropertyGroup> <BaseOutputPath>..\WebApplication1\bin\</BaseOutputPath> </PropertyGroup>
如果您已正確執行所有作業,您應該能夠將新的移轉新增至專案。
dotnet ef migrations add NewMigration --project WebApplication1.Migrations