.net - EFCore cli 生成无用的迁移

标签 .net entity-framework-core migration

我有一个在表中创建列的迁移。

public partial class AddName : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AddColumn<string>(
            name: "Name",
            table: "MyTable",
            nullable: false,
            defaultValue: "Value 1");
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.DropColumn(
            name: "Name",
            table: "MyTable");
    }
}

我用它更新我的数据库。我生成了一个新的迁移。 这最后一个应该是空的,但它包含一个无用的 AlterColumn

public partial class Test : Migration
{
    protected override void Up(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AlterColumn<string>(
            name: "Name",
            table: "MyTable",
            nullable: false,
            defaultValue: "Value 1",
            oldClrType: typeof(string),
            oldType: "nvarchar(max)");
    }

    protected override void Down(MigrationBuilder migrationBuilder)
    {
        migrationBuilder.AlterColumn<string>(
            name: "Name",
            table: "MyTable",
            type: "nvarchar(max)",
            nullable: false,
            oldClrType: typeof(string),
            oldDefaultValue: "Value 1");
    }
}

要生成此迁移和更新数据库,我使用 dotnet-ef cli。

我检查了一下,发现两次迁移之间没有区别。当我使用 Test 迁移更新数据库时,没有任何更改应用于表。 我还测试将我的数据库更新为 AddName 之前的迁移并重新创建它。但我有相同的结果。第二次迁移保持填充 AlterColumn

有人已经有这种奇怪的行为了吗?

最佳答案

问题是由更新 EF Core Tools 引起的到生成迁移之间的较新版本。使用不同版本的工具迁移生成的快照可能会有所不同。

关于.net - EFCore cli 生成无用的迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66371124/

相关文章:

php - 无法在 Yii 1.x 的迁移中使用模型

c# - 一起使用任务和线程池可以吗?

c# - 如何检查一个字符串是否是一个有效的url

c# - Entity Framework Core 中的外键 NullReferenceException

c# - 如何在 Entity Framework CORE 中执行 LIKE(不是完整的 .net)

mysql - 如何将 SQL Server .bak 文件导入 MySQL?

.net - "woff"、 "woff2"在 localhost 上工作,但在 Web 服务器上不起作用并给出控制台错误

c# - 在标签之间查找文本并将其与标签一起替换

entity-framework - Entity Framework 核心 : Include many-to-many related objects in WebAPI

Tomcat 到 JBoss AS 配置迁移