我可能正在考虑从我的ORM的nHibernate转移到实体框架,如果数据库的值为null,我会遇到一个小问题,但实体属性不可为空。 nHibernate将只设置默认值并继续前进,不会导致任何异常。这意味着如果我有一个布尔属性,如果数据库为null则它将为false。
在实体框架(6)中,它抛出一个异常。是否存在一些我缺少的配置设置,如果属性不可为空且数据库值为null,则告诉EF设置默认值?
答案 0 :(得分:1)
您的实体属性不必是自动属性,因此您可以执行以下操作:
public class SomeEntity
{
private bool _field
public bool? Field
{
get { return _field; }
set { _field = value.HasValue ? false : value.Value; }
}
}