Как передать в параметр с типом DateTime Null значение
Рассмотрим класс, содержащий свойство RegDate типа
DateTime и кусок хибернейт маппинга (hibernate mapping) hbm.xml , где это свойство объявляется.
........................................................
private DateTime _regDate = DateTime.MinValue;
public virtual DateTime RegDate
{
get { return _regDate; }
set { _regDate = value; }
}
........................................................
<property name="RegDate" column="RegDate" type="DateTime"/>
Т.к. свойство RegDate имеет тип DateTime - оно не может принимать значение
null. Чтобы исправить это, нужно свойство RegDate объявить следующим образом:
........................................................
private Nullable<DateTime> _regDate = null;
public virtual Nullable<DateTime> RegDate
{
get { return _regDate; }
set { _regDate = value; }
}
........................................................
При такой декларации со свойством RegDate можно работать как с обычным полем DateTime, только теперь оно может принимать значение null. А его декларация в hbm.xml остается
прежней.