第二部分 Nhibernate中的类型

时间:2022-07-03 13:14:25

NHibernate类型、.net类型、数据库字段类型映射关系

   因为NHibernate类型和c#数据类型是对应的,所以也分为值类型和引用类型,另外还有几个特殊的类,我们分别介绍:

  -- 值类型 | 你应该知道的是值类型都继承自System.ValueType

NHibernate类型   .net类型 数据库字段类型 备注
AnsiChar或Char Char char(n)  
Boolean Boolean Boolean  
Byte Byte Byte  
Date DateTime Date 必须显示声明type="Date"
DateTime DateTime DateTime 数据库字段忽略毫秒
DateTime2 DateTime DateTime2 必须显示声明type="DateTime2"
Decimal Decimal Decimal  
Double Double Double  
Guid Guid Guid  
Int16 Int16 Int16  
Int32 Int32 Int32  
Int64 Int64 Int64  
Single Single Single  
Ticks DateTime Int64 必须显示指定type="Ticks"
Time DateTime Time 必须显示指定type="Time"
TimeAsTimeSpan TimeSpan Time 必须显示指定type="TimeAsTimeSpan"
TimeSpan TimeSpan Int64  
TrueFalse或YesNo Boolean char(1) T/F或Y/N 必须显示指定type="TrueFalse"或type="YesNo"

其中一些不常用的都没有列出来,考虑到部分数据库支持有限等问题,徒增困扰,还是不列出来了。

 -- 引用类型 | 你应该知道的是值类型都继承自System.Object

NHibernate类型 .net类型 数据库字段类型 描述
Binary Byte[] Binary  
String String String  

 -- 几个特殊的类型

NHibernate .net类型 数据库字段类型 描述
BinaryBlob Byte[] Binary  
StringClob String String