从 .NET Core 2.2 迁移到 3.1 时缺少“.Relational()”方法

RBa*_*iak 2 c# asp.net-core ef-core-3.0

我正在将项目从 2.2 更新到 3.1,并且我有以下方法可以在创建新迁移时自动修补所有decimal属性以使用decimal(18, 6)sql 类型。

    public static void PatchDecimalProperties(this ModelBuilder builder)
    {
        foreach (var property in builder.Model.GetEntityTypes()
            .SelectMany(t => t.GetProperties())
            .Where(p => p.ClrType == typeof(decimal) || p.ClrType == typeof(decimal?)))
        {
            property.Relational().ColumnType = "decimal(18, 6)";
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在在 3.1 中该IMutableProperty.Relational()方法不再存在。

这种方法仍然存在还是有替代方法?

cit*_*nas 6

而不是使用

property.Relational().ColumnType = "decimal(18, 6)";
Run Code Online (Sandbox Code Playgroud)

您可以使用

property.SetColumnType("decimal(18, 6)");
Run Code Online (Sandbox Code Playgroud)