选择

时间:2016-07-13 17:22:28

标签: c# entity-framework entity-framework-6 asp.net-web-api2

我可能正在考虑从我的ORM的nHibernate转移到实体框架,如果数据库的值为null,我会遇到一个小问题,但实体属性不可为空。 nHibernate将只设置默认值并继续前进,不会导致任何异常。这意味着如果我有一个布尔属性,如果数据库为null则它将为false。

在实体框架(6)中,它抛出一个异常。是否存在一些我缺少的配置设置,如果属性不可为空且数据库值为null,则告诉EF设置默认值?

1 个答案:

答案 0 :(得分:1)

您的实体属性不必是自动属性,因此您可以执行以下操作:

public class SomeEntity
{
  private bool _field
  public bool? Field
  {
    get { return _field; }
    set { _field = value.HasValue ? false : value.Value; }
  }
}