【笔记】记录NHibernate在.net中的使用
最近在做一个AngularJs的管理平台,后台使用的是.Net Framework 4.5,搭配了NHibernate + Redis + Elasticsearch + Mysql等技术;
在新增接口的时候发现有些地方需要映射实体类等;
于是从官网找了对NHibernate配置映射文件时的类型进行归档,以供学习参考
值类型
|
NHibernate类型 |
.Net类型 |
数据库类型 |
备注 |
|
AnsiChar |
System.Char |
DbType.AnsiStringFixedLength - 1 char |
必须指定type =“AnsiChar”。 |
|
Boolean |
System.Boolean |
DbType.Boolean |
未指定类型属性时为默认值 |
|
Byte |
System.Byte |
DbType.Byte |
未指定类型属性时为默认值 |
|
Char |
System.Char |
DbType.StringFixedLength - 1 char |
未指定类型属性时为默认值 |
|
Currency |
System.Decimal |
DbType.Currency |
必须指定type =“Currency”。 |
|
Date |
System.DateTime |
DbType.Date |
必须指定type=“Date” |
|
DateTime |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
未指定类型属性时的默认值。从NHibernate v5.0开始不再忽略小数秒。 |
|
DateTimeNoMs |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“DateTimeNoMs”。忽略小数秒。自NHibernate v5.0起可用。 |
|
DateTime2 |
System.DateTime |
DbType.DateTime2 |
必须指定type =“DateTime2”。自NHibernate v5.0以来已过时,请改用DateTime。 |
|
DateTimeOffset |
System.DateTimeOffset |
DbType.DateTimeOffset |
未指定类型属性时的默认值。 |
|
DbTimestamp |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“DbTimestamp”。当用作 版本字段时,使用数据库在专用查询中检索的当前时间,而不是客户端的当前时间。如果缺少数据库支持,它将回退到客户端的当前时间。 |
|
Decimal |
System.Decimal |
DbType.Decimal |
未指定类型属性时的默认值。 |
|
Double |
System.Double |
DbType.Double |
未指定类型属性时的默认值。 |
|
Guid |
System.Guid |
DbType.Guid |
未指定类型属性时的默认值。 |
|
Int16 |
System.Int16 |
DbType.Int16 |
未指定类型属性时的默认值。 |
|
Int32 |
System.Int32 |
DbType.Int32 |
未指定类型属性时的默认值。 |
|
Int64 |
System.Int64 |
DbType.Int64 |
未指定类型属性时的默认值。 |
|
LocalDateTime |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“LocalDateTime”。确保 DateTimeKind设置为DateTimeKind.Local。如果设置了另一种日期,则抛出。从NHibernate v5.0开始不再忽略小数秒。 |
|
LocalDateTimeNoMs |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“LocalDateTimeNoMs”。与LocalDateTime类似, 但忽略小数秒。自NHibernate v5.0起可用。 |
|
PersistentEnum |
A System.Enum |
The DbType for the underlying value. |
不要在映射中指定type =“PersistentEnum”。而是指定枚举的程序集限定名称或让NHibernate使用Reflection来“猜测”类型。Enum的UnderlyingType用于确定正确的DbType。 |
|
SByte |
System.SByte |
DbType.SByte |
未指定类型属性时的默认值。 |
|
Single |
System.Single |
DbType.Single |
未指定类型属性时的默认值。 |
|
Ticks |
System.DateTime |
DbType.Int64 |
必须指定type =“Ticks”。这是与UtcTicks一起“添加时间戳”列的推荐方法。 |
|
Time |
System.DateTime |
DbType.Time |
必须指定type =“Time”。 |
|
TimeAsTimeSpan |
System.TimeSpan |
DbType.Time |
必须指定type =“TimeAsTimeSpan”。 |
|
TimeSpan |
System.TimeSpan |
DbType.Int64 |
未指定类型属性时的默认值。 |
|
Timestamp |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
未指定类型属性时的默认值。 |
|
TrueFalse |
System.Boolean |
DbType.AnsiStringFixedLength - 1 char either ‘T’ or ‘F’ |
type=“TrueFalse” must be specified. |
|
UInt16 |
System.UInt16 |
DbType.UInt16 |
未指定类型属性时的默认值。 |
|
UInt32 |
System.UInt32 |
DbType.UInt32 |
未指定类型属性时的默认值。 |
|
UInt64 |
System.UInt64 |
DbType.UInt64 |
未指定类型属性时的默认值。 |
|
UtcDateTime |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
确保DateTimeKind设置为DateTimeKind.Utc。如果设置了另一种日期,则抛出。从NHibernate v5.0开始不再忽略小数秒。 |
|
UtcDateTimeNoMs |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“UtcDateTimeNoMs”。与UtcDateTime类似, 但忽略小数秒。自NHibernate v5.0起可用。 |
|
UtcDbTimestamp |
System.DateTime |
DbType.DateTime / DbType.DateTime2(1) |
必须指定type =“UtcDbTimestamp”。当用作 版本字段时,使用数据库在专用查询中检索的当前UTC时间,而不是客户端的当前时间。如果缺少数据库支持,它将回退到客户端的当前时间。 |
|
UtcTicks |
System.DateTime |
DbType.Int64 |
必须指定type =“UtcTicks”。这是与Ticks一起“加时间”列的建议方法。确保DateTimeKind设置为DateTimeKind.Utc。如果设置了另一种日期,则抛出。 |
|
YesNo |
System.Boolean |
DbType.AnsiStringFixedLength - 1 char either ‘Y’ or ‘N’ |
必须指定type =“YesNo”。 |
映射对象类型
|
NHibernate类型 |
.Net类型 |
数据库类型 |
备注 |
|
AnsiString |
System.String |
DbType.AnsiString |
必须指定type =“AnsiString”。 |
|
CultureInfo |
System.Globalization.CultureInfo |
DbType.String - 5 chars for culture |
未指定类型属性时的默认值。 |
|
Binary |
System.Byte[] |
DbType.Binary |
未指定类型属性时的默认值。 |
|
Type |
System.Type |
DbType.String holding Assembly Qualified Name. |
未指定类型属性时的默认值。 |
|
String |
System.String |
DbType.String |
未指定类型属性时的默认值。 |
|
Uri |
System.Uri |
DbType.String |
未指定类型属性时的默认值。 |
大数据类型
|
NHibernate类型 |
.Net类型 |
数据库类型 |
备注 |
|
StringClob |
System.String |
DbType.String |
必须指定type =“StringClob”。整个字段被读入内存。 |
|
BinaryBlob |
System.Byte[] |
DbType.Binary |
必须指定type =“BinaryBlob”。整个字段被读入内存。 |
|
Serializable |
Any System.Object that is marked with SerializableAttribute. |
DbType.Binary |
应指定type =“Serializable”。如果没有为Property找到NHibernate Type,则这是后备类型。 |
|
XDoc |
System.Xml.Linq.XDocument |
DbType.Xml |
未指定类型属性时的默认值。整个字段被读入内存。 |
|
XmlDoc |
System.Xml.XmlDocument |
DbType.Xml |
未指定类型属性时的默认值。整个字段被读入内存。 |
参考官网文档:https://nhibernate.info/doc/nhibernate-reference/mapping.html#mapping-types
【笔记】记录NHibernate在.net中的使用的更多相关文章
- Hadoop学习笔记—13.分布式集群中节点的动态添加与下架
开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与 ...
- Activiti 学习笔记记录(二)
上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Act ...
- JVM 学习笔记记录
JVM 学习笔记记录 Sun JDK 监控和故障处理工具 名称 主要作用 jps JVM Process Status Tool, 显示指定系统内所有的HotSpot虚拟机进程 jstat JVM S ...
- Activiti 学习笔记记录(2016-8-31)
上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件
- Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...
- Android菜鸟的成长笔记(11)——Android中的事件处理
原文:[置顶] Android菜鸟的成长笔记(11)——Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调的 ...
- Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)
原文:Android菜鸟的成长笔记(15)-- Android中的状态保存探究(下) 在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据 ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- 算法笔记(c++)--c++中碰到的一些用法
算法笔记(c++)--c++中碰到的一些用法 toupper(xxx)可以变成大写; tolower(xx)小写 isalpha(xxx)判断是不是字母 isalnum(xx)判断是不是数字 abs( ...
- 记录自己在 cmd 中执行 jar 文件遇到的一些错误
记录自己在 cmd 中执行 jar 文件遇到的一些错误 场景: 请求接口,解析接口返回的 JSON 字符串并插入到我们的数据库里面. 情况: 项目在 eclipse 中正常运行,打成 jar 包后在 ...
随机推荐
- 前端js需要连接后端c#的wss服务
背景前端js需要连接后端wss服务 前端:js后端:c# - 控制台搭建wss服务器 步骤1 wss需要ssl认证,所以需要个证书,随便找一台linux的服务器(windows的话,自己安装下open ...
- 漏洞预警 | CraftCMS模板注入漏洞
0x00 漏洞编号 CVE-2024-56145 0x01 危险等级 高危 0x02 漏洞概述 CraftCMS是一个灵活的.易于使用的内容管理系统. 0x03 漏洞详情 CVE-2024-56145 ...
- 我的C/C++开发环境
我的C/C++开发环境 OS: WSL Ubuntu Compiler: gcc Editor: VS Code Extensions: C/C++ Extenion Pack Settings: 时 ...
- CANopen TPDO 配置详解:对象 1800h、1A00h 与实践指南
CANopen TPDO 配置详解:对象 1800h.1A00h 与实践指南 目录 CANopen TPDO 配置详解:对象 1800h.1A00h 与实践指南 目录 引言 TPDO 通讯参数详解 ( ...
- Flask 中用 dbutils 实现数据库连接池
之前用 dbutils 来实现数据库连接池, 这里将其封装为一个自定义类并在 flask 中实际应用一下, 在实际场景中肯定是多页面接口, 这也就涉及到 python 的 import 问题, 就个人 ...
- dll正由另一进程使用,因此该进程无法访问此文件
打开 Windows 资源监视器:按下 Win+R 快捷键打开"运行"对话框,输入 resmon 命令并按下回车键.在资源监视器中,选择"CPU"选项卡,然后在 ...
- Django 中URL和Views相关知识梳理(极简版)
提示:仅供梳理参考,很多相关的细节内容忽略. 1.URL (1)URL匹配的规则是正则,关于正则不再赘述. (2)URL优先级顺序:从urlpatterns的底部开始搜索,一直往上搜索,需要注意的是 ...
- HanioTower(java)
package javaBasic; import java.util.Scanner; public class HanioTower { public static void main(Strin ...
- windows系统安装redis教程
redis官方特地开发了个windows版本,不过不更新维护.适合在本地测试项目 下载地址:https://github.com/microsoftarchive/redis/releases/tag ...
- vllm
!声明:本文部分框架及理论来自于 [大猿搬砖简记] 的公众号文章,但为了方便本人学习,进行了整理,同时在这个清晰的框架内添加了一些总结性质的内容,如需看原文请在其公众号中搜索:图解大模型计算加速系列. ...