1

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

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

但它仍然返回null。

我怎样才能做到这一点?

4

2 回答 2

0

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

public class Item {
    public Guid ThreadRoot { get; set; }

    public Item() {
        ThreadRoot = Guid.Empty; //default value
    }
 }
于 2012-05-22T11:51:01.603 回答
0

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

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

于 2012-05-22T11:56:23.437 回答