[转]NHibernate中DateTime,int,bool空值的处理方法
我们知道,数据库中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类型等赋空值。
转载于:https://www.cnblogs.com/maplye/archive/2006/07/01/440449.html
[转]NHibernate中DateTime,int,bool空值的处理方法相关推荐
- mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣
mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...
- 转:SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究
SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究 在SqlServer 2000中datetime 的空值即默认值为1900-01-01 00:00 :00,C# ...
- c# mysql datetime 判断为空 dbnull_转:SqlServer中的datetime类型的空值和c#中的DateTime的空值的...
SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究 在SqlServer 2000中datetime 的空值即默认值为1900-01-01 00:00 :00,C# ...
- c# mysql datetime 判断为空 dbnull_转:SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究...
SqlServer中的datetime类型的空值和c#中的DateTime的空值的研究 在SqlServer 2000中datetime 的空值即默认值为1900-01-01 00:00 :00,C# ...
- python中int表示的数据类型是_python中的基本数据类型之 int bool str
一.基本数据类型 1. int ==> 整数.主要用来进行数学运算. 2.str ==> 字符串.可以保存少量的数据,并进行相应的操作. 3.bool => 布尔值.判断 ...
- NHibernate之旅(14):探索NHibernate中使用视图
本节内容 引入 1.持久化类 2.映射文件 3.測试 结语 引入 在数据库操作中,我们除了对表操作,还有视图.存储过程等操作,这一篇和下篇来学习这些内容.这篇我们来学习怎样在NHibernate中使用 ...
- NHibernate之旅(7):初探NHibernate中的并发控制
本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 ...
- C# 中DateTime的各种使用
C# 中DateTime的各种使用 获得当前系统时间: DateTime dt = DateTime.Now; Environment.TickCount可以得到"系统启动到现在" ...
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
问题背景: 在使用asp.net mvc 结合jquery esayui做一个系统,但是在使用使用this.json方法直接返回一个json对象,在列表中显示时发现datetime类型的数据在转为字符 ...
- NHibernate中,查询SqlServer数据库多个实体对象
关于datetime类型使用: Oracle: "and tb.EffectiveDate >= to_date(?,'yyyy-mm')" Sql: "an ...
最新文章
- menu.php,menu.php
- TensorFlow学习笔记-实现经典LeNet5模型(转载)
- VTK:可视化之LabelPlacementMapper
- const常量与define宏定义的区别
- 基于WebStorm, React和Ant.Design开发WebAppDemo
- linux gcc编译下的文件读写操作
- 一周冲刺计划2//第一天
- 集成activiti-modeler 到 自己的业务系统
- clear java_方法clear()在Java中做什么?
- 详解|天猫搜索前端技术历代记
- vue 下载pdf文件
- WIFI下无法登录百度网盘
- Unity 水墨风格Shader
- 选品的差异化如何把握?通过产品差异化形成怎样优势?
- opop如何和计算机链接,oppo如何连接电脑
- 2020微信小微商户、微信支付商业版签约商户流程
- java框架013——Spring AOP面向切面编程
- C语言程序设计(第3版) 何钦铭 颜晖 主编
- 王姨劝我学HarmonyOS鸿蒙2.0系列教程之五布局方法点击响应!
- Verilgo实现的FPGA奇偶校验
热门文章
- Digispark ATtiny85 单片机点灯大师之圣诞节彩灯Merry Christmas
- NFC技术 (二) -硬件设计
- matlab拟合反比例函数,y与x的函数关系式图像 已知变量y与x之间的函数
- 无效镜像问题image has dependent child images
- axure8下拉表单_AXURE RP 8怎么设置下拉菜单? AXURE下拉菜单的制作方法
- 平方和误差函数--代价函数(机器学习)
- Guns二次开发(十四):集成 ueditor 富文本编辑器
- office 2010图标出现异常时的解决办法
- win10升级补丁_官方win10教育版怎么样
- 南开大学校园邮箱pop3地址