我已经使用现有表格将实体框架添加到现有项目。这些表包含一对NULL的uniqueidentifier列。当我从这些数据加载数据时,我们的模型属性也是null,而不是Guid.Empty。我尝试使用构造函数和默认值使用实体框架4.3为模型设置默认值
AlterColumn("tblItems", "ThreadRoot", c => c.Guid(nullable: true, defaultValue: Guid.Empty));
但它仍然返回null。
我该如何做到这一点?
我已经使用现有表格将实体框架添加到现有项目。这些表包含一对NULL的uniqueidentifier列。当我从这些数据加载数据时,我们的模型属性也是null,而不是Guid.Empty。我尝试使用构造函数和默认值使用实体框架4.3为模型设置默认值
AlterColumn("tblItems", "ThreadRoot", c => c.Guid(nullable: true, defaultValue: Guid.Empty));
但它仍然返回null。
我该如何做到这一点?
当我加载从这些数据我的模型属性也为空,而不是Guid.Empty
这是因为已经存在的数据将包含null
,因为它们是在您发布AlterColumn
方法之前存储的。当没有设置适当的列时插入新记录时将写入默认值。
在你的模型,只是默认值添加到属性:
public class Item {
public Guid ThreadRoot { get; set; }
public Item() {
ThreadRoot = Guid.Empty; //default value
}
}
您是否有权更改现有的数据库结构? – daryal
我有完全访问权限 – Kulvis
您是否使用代码优先方法? – daryal