为 Entity Framework 核心 C# 中的特定迁移获取 SQL 文件

Get SQL file for specific migration in Entity Framework Core C#

我正在使用 visual studio,EF Core 我有例如迁移文件

例如 20210314142045_RemoveCitizenShip3.cs 作为 使用 Microsoft.EntityFrameworkCore.Migrations;

namespace CertificateSystem.DB.DB.Migrations
{
    public partial class RemoveCitizenShip3 : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropColumn(
                name: "CitizenShip",
                schema: "CertificateSystem",
                table: "CommercialEntity");
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<int>(
                name: "CitizenShip",
                schema: "CertificateSystem",
                table: "CommercialEntity",
                nullable: true);
        }
    }
}

我想将我的项目发布到生产环境中我知道迁移不是在生产环境中使用的好方法 我认为更新我的数据库的最好方法是在开发版本上进行迁移并从中创建一个 SQL 并在生产

上执行 SQL

我的问题是如何从迁移文件创建 SQL 文件?

我读过

我看到 Script-Migration -From X -to Y 做了一些工作,但如果我想在特定文件上做呢?我该怎么做?

你可以做到

Script-Migration -From <PreviousMigration> -To <LastMigration>

在你的情况下,

Script-Migration 20180904195021_InitialCreate

上面的示例使用迁移 ID 在 InitialCreate 迁移之后为所有迁移创建了一个脚本。查看 documentation 如果您使用的是 .net 核心 CLI 工具,

dotnet ef migrations script 20180904195021_InitialCreate

始终遵循documentation