在数据库EF6中将现有可为空的列更新为不可为空

时间:2018-08-08 21:42:35

标签: c# entity-framework-6 ef-migrations

我使用以下方法在表中添加了新列:

AddColumn("dbo.XYZ", "abc", c => c.Boolean());

型号:

public class XYZ{
    public bool? abc {get; set;}
}

这为XYZ添加了一个新的可空位列abc。

现在,我想将列更改为默认值为false的不可为空的布尔值。 所以我尝试了这个:

 AlterColumn("dbo.XYZ", "abc", c => c.Boolean(nullable: false,defaultValue:false));

型号更改:

public class XYZ {
    public bool abc{ get; set; }
}

在运行更新数据库时,出现以下错误:

  

无法将值NULL插入表'dbo.XYZ'的列'abc'中;   列不允许为空。更新失败。该声明已经   终止。

我实际上想用默认值更新现有的空记录。

0 个答案:

没有答案