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 |