.NET核心實體框架 - 遷移路徑--output-dir

.net .net-core asp.net-core entity-framework entity-framework-core

我使用命令成功創建了一個使用.NET Core類庫的遷移文件: dotnet ef --startup-project ../Project.Web migrations add Init

因為我在不同的層(web層)中註冊我的db上下文,並且有類庫,所以我必須將我的啟動項目設置為Project.Web。

創建初始遷移後,它看起來像這樣:

在此處輸入圖像描述

但是現在我想將遷移文件夾Project.Data/Migrations移動到Project.Data/Database/Migrations

我試過使用output-dir參數:

dotnet ef --startup-project ../Project.Web --output-dir Database migrations add Init

但後來我得到:

dotnet:無法識別的選項' - output-dir'

啟動 (在不同的項目中,業務層)

public static IServiceCollection InjectBusinessContext(this IServiceCollection services, string connectionString)
{
    services.AddEntityFrameworkSqlServer().AddDbContext<ProjectContext>((serviceProvider, options) => options.UseSqlServer(connectionString, b => b.MigrationsAssembly("Database")).UseInternalServiceProvider(serviceProvider));

    return services;
}

上下文 (數據層)

public class ProjectContext : DbContext
{
    public ProjectContext(DbContextOptions<ProjectContext> options) : base(options)
    {
    }

    public DbSet<Account> Account { get; set; }
}

一般承認的答案

只需移動它(並可選擇更改類的命名空間)。新的遷移將跟隨之前的遷移。 (同樣適用於模型快照。)是的,真棒。 ;)



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因