`
maplye
  • 浏览: 111616 次
  • 来自: ...
社区版块
存档分类
最新评论

[转]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类型等赋空值。
分享到:
评论

相关推荐

    NHibernate中文文档

    不仅仅管理.NET类到数据库表的映射(包括.NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。 NHibernate的目标主要是用于与数据持久...

    NHibernate 中文文档教程

    Kiler博客翻译的NHibernate中文技术文档教程 附有原来的英文的NHibernate文档

    NHibernate2.0中文文档

    NHibernate2.0中文文档 NHibernate2.0中文文档 NHibernate2.0中文文档

    Nhibernate使用教程中文文档

    Nhibernate使用教程中文文档,Nhibernate使用教程中文文档

    NHibernate中文帮助手册API

    NHibernate 参考文档手册 chm,NHIBERNATE-符合.Net习惯的关系数据库持久化,手册目录摘要:  前言  1. 第一个NHibernate应用程序  1.1. 开始NHibernate之旅  1.2. 第一个持久化类  1.3. 映射cat  1.4. ...

    NHibernate中文API

    NHibernate的中文API,,有用的可以看看~

    nhibernate 源码nhibernate 源码

    nhibernate 源码nhibernate 源码nhibernate 源码nhibernate 源码

    nhibernate

    nhibernate c#nhibernate c#nhibernate c#nhibernate c#nhibernate c#nhibernate c#nhibernate c#

    NHibernate中的Session示例源代码

    NHibernate中的Session示例源代码,适合对NHibernate的使用有一定的了解,并想了解NHibernate源代码及其软件结构的人。

    Nhibernate常见的三种配置方法

    Nhibernate常见的三种配置方法、配置文件、log4net

    NHibernate 中文文档

    NHibernate 中文文档 中文手册,英语不太好的朋友可以参考

    实现NHibernate配置的三种实现方法

    ________________________________________________________ 总共有三个项目,分别保存在三个不同的文件中,上述三中方法的实现分别放在文件名为NHibernateSampleA、NHibernateSampleX、NHibernateSampleC的...

    Nhibernate从入门到精通

    NHibernate 入门之旅教程 PDF版,写这个小书也算是对自己学习NHibernate的一个总结吧。再次向对NHibernate陌生的朋友介绍一下NHibernate,它是一个面向.NET 环境的对象/关系数据库映射工具。用来把对象映射到基于SQL...

    Fluent nHibernate

    Fluent nHibernate,简化nHibernate工作量的好工具。 nHibernate相信用C#跟数据库打交道的多少知道一些,用过nHibernate的对其中nHibernate的XML配置文件的繁杂应该深有印象。Fluent nHibernate就是为简化nHibernate...

    Nhibernate 中文文档

    Nhibernate 中文文档~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    NHibernate中文参考文档

    NHibernate中文参考文档,是一个Word文档,讲解的很详细,希望对你有用!

    C#开源持久层框架--NHibernate

    NHibernate为你处理这些,你不用自己写SQL去数据库存取对象。你的代码仅仅和对象关联,NHibernat自动产生SQL语句,并确保对象提交到正确的表和字段中去.大量减少开发时人工使用SQL和ADO.NET处理数据的时间. ...

    NHibernate中文帮组文档(2008.11月更新)

    NHIBERNATE - 符合.Net习惯的关系数据库持久化 NHibernate参考文档 2.0.0 -------------------------------------------------------------------------------- 目录 前言 1. 第一个NHibernate应用程序 1.1. ...

    NHibernate-2.1.2.GA-bin NHibernate框架

    使用与.net开发的NHibernate框架,这个版本是比较老,但是比较经典的。 我也是使用这个来在.net开发的。给大家共享一下。

    NHibernate.JetDriver(基于NHibernate 3.1)

    让NHibernate支持Access数据库的驱动程序,源自Hibernate官方,但官方早不支持了(已从NHibernate主类库剔除),这个是基于NHibernate 3.1.0.4000的,需要NHibernate其他版本的话,请打开解决方案引入不同版本的...

Global site tag (gtag.js) - Google Analytics