2012-05-22 92 views
1

我已经使用现有表格将实体框架添加到现有项目。这些表包含一对NULL的uniqueidentifier列。当我从这些数据加载数据时,我们的模型属性也是null,而不是Guid.Empty。我尝试使用构造函数和默认值使用实体框架4.3为模型设置默认值

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

但它仍然返回null。

我该如何做到这一点?

+0

您是否有权更改现有的数据库结构? – daryal

+0

我有完全访问权限 – Kulvis

+0

您是否使用代码优先方法? – daryal

回答

0

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

这是因为已经存在的数据将包含null,因为它们是在您发布AlterColumn方法之前存储的。当没有设置适当的列时插入新记录时将写入默认值。

0

在你的模型,只是默认值添加到属性:

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

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