第二部分 Nhibernate中的类型

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  
时间: 2024-10-14 00:48:03

第二部分 Nhibernate中的类型的相关文章

NHibernate之旅(7):初探NHibernate中的并发控制

本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 结语 什么是并发控制? 当许多人试图同时修改数据库中的数据时,必须实现一个控制系统,使一个人所做的修改不会对他人所做的修改产生负面影响.这称为并发控制. 简单的理解就是2个或多个用者同时编辑相同的数据.这里的用者可能是:实际用户.不同服务.不同的代码段(使用多线程),及其在断开式和连接式情况下可能

[转]NHibernate之旅(7):初探NHibernate中的并发控制

本节内容 什么是并发控制? 悲观并发控制(Pessimistic Concurrency) 乐观并发控制(Optimistic Concurrency) NHibernate支持乐观并发控制 实例分析 结语 什么是并发控制? 当许多人试图同时修改数据库中的数据时,必须实现一个控制系统,使一个人所做的修改不会对他人所做的修改产生负面影响.这称为并发控制. 简单的理解就是2个或多个用者同时编辑相同的数据.这里的用者可能是:实际用户.不同服务.不同的代码段(使用多线程),及其在断开式和连接式情况下可能

Struts2中 Result类型配置详解(转)

一个result代表了一个可能的输出.当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出.在com.opensymphony.xwork2.Action接口中定义了一组标准的结果代码,可供开发人员使用,当然了只有我们的action继承ActionSupport 这个类才可以使用下面的结果代码,如下所示:public interface Action{    public static final String SUCCESS =

函数中的类型是怎么工作的

函数中的类型是怎么工作的 理解类型标记 我们已经理解函数了,看看函数中的类型是怎么工作的,还有域和范围.这只是一个概述,这个"understandingF# types"系列会为你详细介绍. 首先,我们应该多理解类型符号一点.我们之后箭头符号用于域和范围,所以它总是像函数签名: val functionName : domain -> range 看这些示例函数 : let intToString x = sprintf "x is %i" x // form

NET中的类型和装箱/拆箱原理

谈到装箱拆箱,DebugLZQ相信给位园子里的博友一定可以娓娓道来,大概的意思就是值类型和引用类型的相互转换呗---值类型到引用类型叫装箱,反之则叫拆箱.这当然没有问题,可是你只知道这么多,那么DebugLZQ建议你花点时间看看楼主这篇文章,继续前几篇博文的风格--浅谈杂侃. 1. .NET中的类型 为了说明装箱和拆箱,那首先必须先说类型.在.NET中,我们知道System.Object类型是所有内建类型的基类.注意这里说的是内建类型,程序员可以编写不继承子自System.Object的类型,这

Struts2中 Result类型配置详解

一个result代表了一个可能的输出.当Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出. 在com.opensymphony.xwork2.Action接口中定义了一组标准的结果代码,可供开发人员使用,当然了只有我们的action继承ActionSupport 这个类才可以使用下面的结果代码,如下所示: public interface Action {     public static final String SUCCES

C#中值类型和引用类型

本文将介绍C#类型系统中的值类型和引用类型,以及两者之间的一些区别.同时,还会介绍一下装箱和拆箱操作. 值类型和引用类型 首先,我们看看在C#中哪些类型是值类型,哪些类型是引用类型. 值类型: 基础数据类型(string类型除外):包括整型.浮点型.十进制型.布尔型. 整型(sbyte.byte.char.short.ushort.int.uint.long.ulong ) 浮点型(float 和 double ) 十进制型(decimal ) 布尔型(bool ) 结构类型(struct) 枚

C++中的类型识别

1.C++中类型识别 (1)在面向对象中可能出现下面的情况 @1:基类指针指向子类对象 Base *p = new child(); @2:基类引用成为子类对象的别名 Base& r = *p; --上面的base是基类,child是这个基类的子类,第一种情况,由于赋值兼容性的存在,父类指针是可以指向子类对象的,但是我们无法通过父类指针来知道当前指针指向的是否是子类对象. --但是这时我们可以说,指针p的静态类型是Base*(指针期望的类型),指针p的动态类型是child(因为这时指针p指向的类

NHibernate中的API

本篇文章介绍的是NHibernate的各种API及其作用. 下图描述了NHibernate的API在分层架构中的作用,下面将进行详细说明. NHibernate的接口大致分为四类:1.  被应用程序调用进行基本数据操作(增.删.改.查)的接口.这些接口是应用程序的业务逻辑层和控制层与NHibernate的主要交互点.ISession, ITransaction, IQuery和ICriteria属于此类.2. 被应用程序用来配置NHibernate的接口.Configuration就属此类.3.