NHibernate 映射关系
NHibernate类型 |
.NET类型 |
Database类型 |
备注 |
AnsiChar |
System.Char |
DbType.AnsiStringFixedLength - 1 char |
|
Boolean |
System.Boolean |
DbType.Boolean |
在没有指定类型(type) 属性时的默认值。 |
Byte |
System.Byte |
DbType.Byte |
在没有指定类型(type) 属性时的默认值。 |
Char |
System.Char |
DbType.StringFixedLength - 1 char |
在没有指定类型(type) 属性时的默认值。 |
DateTime |
System.DateTime |
DbType.DateTime - ignores the milliseconds |
在没有指定类型(type) 属性时的默认值。 |
Decimal |
System.Decimal |
DbType.Decimal |
在没有指定类型(type) 属性时的默认值。 |
Double |
System.Double |
DbType.Double |
在没有指定类型(type) 属性时的默认值。 |
Guid |
System.Guid |
DbType.Guid |
在没有指定类型(type) 属性时的默认值。 |
Int16 |
System.Int16 |
DbType.Int16 |
在没有指定类型(type) 属性时的默认值。 |
Int32 |
System.Int32 |
DbType.Int32 |
在没有指定类型(type) 属性时的默认值。 |
Int64 |
System.Int64 |
DbType.Int64 |
在没有指定类型(type) 属性时的默认值。 |
PersistentEnum |
System.Enum |
潜在类型对应的DbType |
不用在映射文件指定type="PersistentEnum".而是提供枚举的程序集全名, 让NHibernate用反射来猜测类型。枚举使用的潜在类型决定适当的DbType.。 |
Single |
System.Single |
DbType.Single |
在没有指定类型(type) 属性时的默认值。 |
Ticks |
System.DateTime |
DbType.Int64 |
type="Ticks"必须被指定。 |
TimeSpan |
System.TimeSpan |
DbType.Int64 |
在没有指定类型(type) 属性时的默认值。 |
Timestamp |
System.DateTime |
DbType.DateTime - 取决于数据库支持 |
type="Timestamp"必须被指定。 |
TrueFalse |
System.Boolean |
DbType.AnsiStringFixedLength -一个字符,'Y' 或者'N' |
type="TrueFalse"必须被指定。 |
YesNo |
System.Boolean |
DbType.AnsiStringFixedLength -一个字符,'Y' 或者'N' |
type="YesNo"必须被指定。 |
NHibernate Type |
.NET Type |
Database Type |
Remarks |
AnsiString |
System.String |
DbType.AnsiString |
type="AnsiString"必须被指定。 |
CultureInfo |
System.Globalization.CultureInfo |
DbType.String -表明文化(culture)的5个字符 |
在没有指定类型(type) 属性时的默认值。 |
Binary |
System.Byte[] |
DbType.Binary |
在没有指定类型(type) 属性时的默认值。 |
Type |
System.Type |
DbType.String保存应用程序集权限定名。 |
在没有指定类型(type) 属性时的默认值。 |
String |
System.String |
DbType.String |
在没有指定类型(type) 属性时的默认值。 |
Hibernate Type |
.NET Type |
Database Type |
Remarks |
StringClob |
System.String |
DbType.String |
type="StringClob"必须被指定。 整个字段在内存里可读。 |
BinaryBlob |
System.Byte[] |
DbType.Binary |
type="BinaryBlob"必须被指定。 整个字段在内存里可读。 |
Serializable |
Any System.Object 必须标注可序列化标签 |
DbType.Binary |
type="Serializable" 应该被指定. 如果不能为属性找到NHibernate类型,这是最后可依靠的类型。 |
原文来自:http://www.cnblogs.com/GoodHelper/archive/2011/02/24/nhibernate06.html
NHibernate 映射关系的更多相关文章
- Nhibernate 映射关系,一对多 多对一与多对手在映射文件中的体现。
今天做了第一个Nhibernate项目,摸着石头过河,学到了一些东西,在这里将自己总结体会到的一些映射关系写出来,与大家分享,由于是初学者,如果有不对的地方希望大家能够指出来. 首先要说明要建立的几张 ...
- MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)
MyGeneration的几个NHibernate模板功能已经很强,但还是存在些问题.例如:Guid主键支持不佳,代码不易修改,不支持中文注释等等.所以我决定自己来改写此模版.我把一部分通用的函数提取 ...
- 用MyGeneration模板生成NHibernate映射文件和关系
用我的MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many) MyGeneration的几个NHibernate模 ...
- NHibernate 映射基础(第三篇) 简单映射、联合主键
NHibernate 映射基础(第三篇) 简单映射.联合主键 NHibernate完全靠配置文件获取其所需的一切信息,其中映射文件,是其获取数据库与C#程序关系的所有信息来源. 一.简单映射 下面先来 ...
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...
- Hibernate4.2.4入门(二)——一对多的映射关系
一.前言 前面我们已经学过hibernate的基础,学会增删改查简单的操作,然而我们数据库中存在着1对多,多对1,多对多的关系,hibernate又是基于ORM基础上的开源框架,可以让我们不用去编写S ...
- EF里的继承映射关系TPH、TPT和TPC的讲解以及一些具体的例子
本章节讲解EF里的继承映射关系,分为TPH.TPT.TPC.具体: 1.TPH:Table Per Hierarchy 这是EF的默认的继承映射关系:一张表存放基类和子类的所有列,自动生成的discr ...
- hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系
前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hi ...
- hibernate笔记--单(双)向的多对多映射关系
在讲单向的多对多的映射关系的案例时,我们假设我们有两张表,一张角色表Role,一张权限表Function,我们知道一个角色或者说一个用户,可能有多个操作权限,而一种操作权限同时被多个用户所拥有,假如我 ...
随机推荐
- <A Decomposable Attention Model for Natural Language Inference>(自然语言推理)
http://www.xue63.com/toutiaojy/20180327G0DXP000.html 本文提出一种简单的自然语言推理任务下的神经网络结构,利用注意力机制(Attention Mec ...
- Linux基础命令---mknod
mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 mknod [选项] ...
- 在Linux 中进入单用户模式的技巧
在这篇简短的文章中,我们将向你介绍在 SUSE 12 Linux 中进入单用户模式的步骤.在排除系统主要问题时,单用户模式始终是首选.单用户模式禁用网络并且没有其他用户登录,你可以排除许多多用户系统的 ...
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都 ...
- 20145127《java程序设计》第二次实验
一.实验内容及其步骤 1.要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo.并在这个新的项目里右键单击创建一个source floder.并将flo ...
- SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been closed()
问题:Could not get JDBC Connection; nested exception is java.sql.SQLException: com.mchange.v2.c3p0.Com ...
- Bootloader之uBoot简介
本文转载自:http://blog.ednchina.com/hhuwxf/1915416/message.aspx 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程 ...
- Android内核和Linux内核的区别
1.Android系统层面的底层是Linux,并且在中间加上了一个叫做Dalvik的Java虚拟机,从表面层看是Android运行库.每个Android应用都运行在自己的进程上,享有Dalvik虚拟机 ...
- openwrt的编译系统是如何生成squashfs文件系统的
答:请看include/image.mk中的以下定义: define Image/mkfs/squashfs $(STAGING_DIR_HOST)/bin/mksquashfs4 $(call mk ...
- C# Byte[] 数组操作
byte[] Strbyte = Encoding.GetEncoding("big5").GetBytes(str); if (Strbyte.Length ...