Rambler's Top100
Как сделать в NHibernate?

Как передать в параметр с типом 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 остается прежней.

  Rambler's Top100
ERP системы с открытыми кодами

OpenSource