【问题标题】:How to generate empty migration in Entity Framework Core?如何在 Entity Framework Core 中生成空迁移?
【发布时间】:2021-11-28 10:52:11
【问题描述】:

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

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

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

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

【问题讨论】:

  • 感谢 Akash 显示了一个在 CLI 和 Powershell 中都有效的答案,感谢 JowJoris 提供了一个显示生成代码的答案,我可以插入 SQL 调用 migrationBuilder.Sql("Update ...") ;.我不得不扔硬币来决定谁应该得到接受的答案;-)

标签: c# entity-framework-core migration database-migration entity-framework-migrations


【解决方案1】:

在数据模型没有任何变化的情况下,当您运行以下命令时,将会有一个空的迁移文件。然后你可以将数据操作的sql代码放在Up方法中,将sql代码还原到Down方法中:

cli:

dotnet ef migrations add [migrationName]

包管理器控制台:

Add-Migration [migrationName]

【讨论】:

    【解决方案2】:

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

    Add-Migration '[Insert name]'
    

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

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

    【讨论】:

      猜你喜欢
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2018-11-05
      • 2020-03-09
      • 2017-02-06
      • 1970-01-01
      相关资源
      最近更新 更多