如何在 Entity Framework Core 中生成空迁移?

How to generate empty migration in Entity Framework Core?

我正在使用 EF Core 迁移来升级我的数据库架构和数据。

在编写新的 C# 代码时,我需要更改不同数据库环境中的数据:开发、测试、工业化、暂存和生产。

因为我不想在尽可能多的环境中执行 SQL 脚本,所以我的目标是将一些数据迁移放在 C# 迁移中。然后数据迁移将与其他模式迁移一起执行。防止我忘记。

如何创建一个空的 C# 迁移脚本来通过调用 SQL 更改我的数据,即使我没有更改数据库?

您可以在程序包管理器控制台中使用以下命令创建空迁移:

Add-Migration '[Insert name]'

您的新迁移文件将如下所示:

public partial class [Insert name]: Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        
    }
}

在不更改数据模型的情况下,当您运行执行以下命令时,将会有一个空的迁移文件。然后你可以将数据操作 sql 代码放在 Up 方法中,并在 Down 方法中恢复 sql 代码:

cli :

dotnet ef migrations add [migrationName]

包管理器控制台:

Add-Migration [migrationName]