使用实体框架 4.3 设置模型的默认值

本文关键字:设置 模型 默认值 实体 框架 | 更新日期: 2023-09-27 18:35:01

我已将实体框架添加到具有现有表的现有项目中。这些表包含几个 NULL 的唯一标识符列。当我从这些加载数据时,我的模型属性也是空的,而不是 Guid.Empty。我尝试使用构造函数和

AlterColumn("tblItems", "ThreadRoot", c => c.Guid(nullable: true, defaultValue: Guid.Empty)); 

但它仍然返回 null。

我怎样才能做到这一点?

使用实体框架 4.3 设置模型的默认值

当我从这些加载数据时,我的模型属性也是空的,而不是 Guid.Empty

这是因为已经存在的数据将包含 null ,因为它们是在您发出 AlterColumn 方法之前存储的。当插入新记录时,如果未设置相应的列,则将写入默认值。

在模型中,只需将默认值添加到属性:

public class Item {
    public Guid ThreadRoot { get; set; }
    public Item() {
        ThreadRoot = Guid.Empty; //default value
    }
 }