• [转]NHibernate中DateTime,int,bool空值的处理方法


    原文: http://zsy.cnblogs.com/archive/2006/03/14/312488.html

    我们知道,数据库中DateTime子段允许为空(null)。当我们在ASP.NET中映射为DateTime是就不允为空了。该怎么处理?基本有两种办法:
    (1)修改.hbm.xml文件中的类型,该"DateTime"为"String",该实体文件中的属性类型"DateTime"为"String"。
        处理的时候,该属性值要么为空,要么是具有正确日期格式的字符串。
      该方法只适合DateTime类型,而对int,bool类型就不适应了。下面就看第二种方法。
    (2)Nullables处理
        (1)添加引用:Nullables.dll与Nullables.NHibernate.dll
        (2)修改配置文件.hbm.xml对应的类型,如:
       <property name="InDate" column="inDate" type="DateTime"/>修改为:
       <property name="InDate" column="inDate" type="Nullables.NHibernate.NullableDateTimeType,Nullables.NHibernate"/>
        (3)修改实体类文件,如:
        private DateTime _inDate;
          /// <summary>
          /// 添加日期
          /// </summary>
          public DateTime InDate
          {
               get { return _inDate; }
               set { _inDate = value;
         }   修改为:
         private Nullables.NullableDateTime _InDate;
          /// <summary>
          /// 添加日期
          /// </summary>
          [NHibernate.Mapping.Attributes.Property]
          public Nullables.NullableDateTime InDate
          {
               get { return _InDate; }
               set { _InDate = value; }
          }
         (4)给属性InDate赋值:
            Item clsItem = new Item();
            clsItem.InDate = new NullableDateTime(System.DateTime.Now);
            如果要输入空值,如:clsItem.InDate = nulll;

         (5)获取属性InDate的值:
            ItemCRUD clsCRUD = new ItemCRUD();  //对实体类的操作
            Item clsItem = clsCRUD.ItemDetails(id);  //获取实体类
            this.txtInDate.Text = clsItem.InDate.ToString();
           
            通过第二种方法可以对数据库中对应的整形、bool类型等赋空值。
  • 相关阅读:
    pip安装软件时出现Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build*的解决方案
    tidb安装
    TIDB 5.0 安装体验 怎么快速玩起来
    利用Tampermonkey(油猴)+ IDM 实现百度云盘大文件下载(IDM安装教程)
    python字典及相关操作
    【转载】CEO:我需要什么样的产品经理?
    2014年3月第三周/第一次跳槽、心情低潮期、与老总沟通问题
    hello word!
    function(event)中的event详解
    CSS 伪类
  • 原文地址:https://www.cnblogs.com/maplye/p/440449.html
Copyright © 2020-2023  润新知