我正在使用EF6将report
类的实例存储在我的数据库中。数据库已经包含数据。假设我想要向report
添加属性,
public class report {
// ... some previous properties
// ... new property:
public string newProperty{ get; set; }
}
现在,如果我转到包管理器控制台并执行以下操作
add-migration Report-added-newProperty
update-database
我会在'/Migrations'文件夹中得到一个文件,该文件将向表中添加一个
newProperty
列。这部分工作正常。然而,在数据库中的旧条目中,newProperty
的值现在为空字符串。但我希望它是"old"之类的值。所以我的问题是:如何在迁移脚本(或其他地方)中为新属性(任何类型)设置默认值?
WITH VALUES
来指定现有记录的值(请参见此问题)。这里答案中给出的解决方法是将该列设置为非空。另一种选择是定义一个自定义的DefaultValue属性,例如这个。 - Hans Vonn