列的默认值的EF CF迁移



在我的一个项目中,我使用了EF Code First方法,并通过Add-Migration MyMigration命令创建新的迁移。现在我需要创建一个迁移,它将为我的一个类中的属性设置默认值。我尝试添加属性[DefaultValue("true")],然后用Add-Migration为其生成一个新的迁移,但这个迁移是空的。英孚似乎没有注意到任何变化。是否有任何方法可以创建仅用于为类属性之一设置默认值的迁移?

您还没有提供任何要在其上创建迁移的类结构……所以我在一个演示类上发布了一个迁移。。

如果您创建的迁移为空,请尝试将下面的代码放在那里

public override void Up()
{
    AlterColumn("dbo.YourTableName", "ColumnName", c => c.String(defaultValueSql: "Khaled Maruf"));
}

如果表列中有过去的数据,请尝试使用下面的

public override void Up()
{
    Sql("UPDATE dbo.YourTableName SET ColumnName = 'Khaled Maruf' WHERE ColumnName IS NULL");
    AlterColumn("dbo.YourTableName", "ColumnName", c => c.String(defaultValueSql: "Khaled Maruf"));
}

希望这能有所帮助。。。。

最新更新