Nhibernate + MySQL 类型映射
用SQLyog工具创建表
然后用自动映射工具NHibernate Mapping Generator对表做自动映射,得到
这个是可视化界面,后面有对应的代码。
using System;
using System.Collections.Generic;
using System.Text;
using FluentNHibernate.Mapping;
using Sample.CustomerService.Domain; namespace Sample.CustomerService.Maps { public class TTesttypeMap : ClassMap<TTesttype> { public TTesttypeMap() {
Table("t_testtype");
LazyLoad();
Id(x => x.Id).GeneratedBy.Assigned().Column("Id");
Map(x => x.Type2).Column("type2");
Map(x => x.Type3).Column("type3");
Map(x => x.Type4).Column("type4");
Map(x => x.Type5).Column("type5");
Map(x => x.Type6).Column("type6");
Map(x => x.Type7).Column("type7");
Map(x => x.Type8).Column("type8");
Map(x => x.Type9).Column("type9");
Map(x => x.Type10).Column("type10");
Map(x => x.Type11).Column("type11");
Map(x => x.Type12).Column("type12");
Map(x => x.Type13).Column("type13");
Map(x => x.Type14).Column("type14");
Map(x => x.Type15).Column("type15");
Map(x => x.Type16).Column("type16");
Map(x => x.Type17).Column("type17");
Map(x => x.Type18).Column("type18");
Map(x => x.Type19).Column("type19");
Map(x => x.Type20).Column("type20");
Map(x => x.Type21).Column("type21");
Map(x => x.Type22).Column("type22");
Map(x => x.Type23).Column("type23");
Map(x => x.Type24).Column("type24");
Map(x => x.Type25).Column("type25");
Map(x => x.Type26).Column("type26");
Map(x => x.Type27).Column("type27").Not.Nullable();
Map(x => x.Type28).Column("type28");
Map(x => x.Type29).Column("type29");
Map(x => x.Type30).Column("type30");
Map(x => x.Type31).Column("type31");
Map(x => x.Type32).Column("type32");
Map(x => x.Type33).Column("type33");
}
}
}
实体:
using System;
using System.Text;
using System.Collections.Generic; namespace Sample.CustomerService.Domain { public class TTesttype {
public virtual string Id { get; set; }
public virtual int? Type2 { get; set; }
public virtual string Type3 { get; set; }
public virtual string Type4 { get; set; }
public virtual byte[] Type5 { get; set; }
public virtual int? Type6 { get; set; }
public virtual int? Type7 { get; set; }
public virtual string Type8 { get; set; }
public virtual DateTime? Type9 { get; set; }
public virtual DateTime? Type10 { get; set; }
public virtual string Type11 { get; set; }
public virtual string Type12 { get; set; }
public virtual string Type13 { get; set; }
public virtual float? Type14 { get; set; }
public virtual int? Type15 { get; set; }
public virtual string Type16 { get; set; }
public virtual string Type17 { get; set; }
public virtual string Type18 { get; set; }
public virtual int? Type19 { get; set; }
public virtual string Type20 { get; set; }
public virtual string Type21 { get; set; }
public virtual string Type22 { get; set; }
public virtual string Type23 { get; set; }
public virtual int? Type24 { get; set; }
public virtual string Type25 { get; set; }
public virtual DateTime? Type26 { get; set; }
public virtual DateTime Type27 { get; set; }
public virtual string Type28 { get; set; }
public virtual int? Type29 { get; set; }
public virtual string Type30 { get; set; }
public virtual string Type31 { get; set; }
public virtual string Type32 { get; set; }
public virtual string Type33 { get; set; }
}
}
第二种映射是通过xml映射文件来做的。
映射文件:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="Sample.CustomerService" namespace="Sample.CustomerService.Domain" xmlns="urn:nhibernate-mapping-2.2">
<class name="TTesttype" table="t_testtype" lazy="true" >
<id name="Id" column="Id" />
<property name="Type2">
<column name="type2" sql-type="bigint(20)" not-null="false" />
</property>
<property name="Type3">
<column name="type3" sql-type="binary(1)" not-null="false" />
</property>
<property name="Type4">
<column name="type4" sql-type="bit(1)" not-null="false" />
</property>
<property name="Type5">
<column name="type5" sql-type="blob" not-null="false" />
</property>
<property name="Type6">
<column name="type6" sql-type="tinyint(1)" not-null="false" />
</property>
<property name="Type7">
<column name="type7" sql-type="tinyint(1)" not-null="false" />
</property>
<property name="Type8">
<column name="type8" sql-type="char(1)" not-null="false" />
</property>
<property name="Type9">
<column name="type9" sql-type="date" not-null="false" />
</property>
<property name="Type10">
<column name="type10" sql-type="datetime" not-null="false" />
</property>
<property name="Type11">
<column name="type11" sql-type="decimal(10,0)" not-null="false" />
</property>
<property name="Type12">
<column name="type12" sql-type="double" not-null="false" />
</property>
<property name="Type13">
<column name="type13" sql-type="enum('A','B','C')" not-null="false" />
</property>
<property name="Type14">
<column name="type14" sql-type="float" not-null="false" />
</property>
<property name="Type15">
<column name="type15" sql-type="int(11)" not-null="false" />
</property>
<property name="Type16">
<column name="type16" sql-type="longblob" not-null="false" />
</property>
<property name="Type17">
<column name="type17" sql-type="longtext" not-null="false" />
</property>
<property name="Type18">
<column name="type18" sql-type="mediumblob" not-null="false" />
</property>
<property name="Type19">
<column name="type19" sql-type="mediumint(9)" not-null="false" />
</property>
<property name="Type20">
<column name="type20" sql-type="mediumtext" not-null="false" />
</property>
<property name="Type21">
<column name="type21" sql-type="decimal(10,0)" not-null="false" />
</property>
<property name="Type22">
<column name="type22" sql-type="double" not-null="false" />
</property>
<property name="Type23">
<column name="type23" sql-type="set('X','Y','Z')" not-null="false" />
</property>
<property name="Type24">
<column name="type24" sql-type="smallint(6)" not-null="false" />
</property>
<property name="Type25">
<column name="type25" sql-type="text" not-null="false" />
</property>
<property name="Type26">
<column name="type26" sql-type="time" not-null="false" />
</property>
<property name="Type27">
<column name="type27" sql-type="timestamp" not-null="true" />
</property>
<property name="Type28">
<column name="type28" sql-type="tinyblob" not-null="false" />
</property>
<property name="Type29">
<column name="type29" sql-type="tinyint(4)" not-null="false" />
</property>
<property name="Type30">
<column name="type30" sql-type="tinytext" not-null="false" />
</property>
<property name="Type31">
<column name="type31" sql-type="varbinary(1024)" not-null="false" />
</property>
<property name="Type32">
<column name="type32" sql-type="varchar(8)" not-null="false" />
</property>
<property name="Type33">
<column name="type33" sql-type="year(4)" not-null="false" />
</property>
</class>
</hibernate-mapping>
没什么内容,只是记录一下,因为在做映射的时候,都不知道怎么匹配类型,这里可以做个参考。
Nhibernate + MySQL 类型映射的更多相关文章
- MySql - JdbcType - Oracle类型映射
MySql - JdbcType - Oracle类型映射 MySQL数据类型 JDBC TYPE Oracle数据类型 BIGINT BIGINT NUMBER(20) TINYINT TINY ...
- Mysql,Oracle与Java字段类型映射关系
Mysql,Oracle与Java字段类型映射关系 参考相关博文 MySQL/Oracle字段类型 Java字段类型 最大长度 BIT java.lang.Boolean 1 BLOB java.la ...
- (转)NHibernate+MySql常见问题
http://blog.51cto.com/4837471/1567675 版本: NHibernate :NHibernate 4.0.1GA MySql:MySql 5.0.1 常见问题一: “N ...
- [hibernate]基本值类型映射之日期类型
hibernate基本值类型映射中日期类型支持date,time,timestamp这三个选项,其中 date:对应数据库中的date类型,表示只显示日期 time:对应数据库中的time类型,表示只 ...
- FreeSql (三十三)CodeFirst 类型映射
前面有介绍过几篇 CodeFirst 内容文章,有 <(二)自动迁移实体>(https://www.cnblogs.com/FreeSql/p/11531301.html) <(三) ...
- Tapdata Cloud 版本上新!率先支持数据校验、类型映射等6大新功能
Tapdata Cloud cloud.tapdata.net Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持 Oracle.MySQL.PG.SQL Server.Mong ...
- 总结Unity IOC容器通过配置实现类型映射的几种基本使用方法
网上关于Unity IOC容器使用的方法已很多,但未能做一个总结,故我这里总结一下,方便大家选择. 首先讲一下通过代码来进行类型映射,很简单,代码如下: unityContainer = new Un ...
- 数据词典与ABAP类型映射
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Unity IOC容器通过配置实现类型映射的几种基本使用方法
网上关于Unity IOC容器使用的方法已很多,但未能做一个总结,故我这里总结一下,方便大家选择. 首先讲一下通过代码来进行类型映射,很简单,代码如下 unityContainer = new Uni ...
随机推荐
- bootstrap手风琴折叠
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- Android-WebView与本地HTML (互调)
此篇博客是基于,上两篇博客,Android-WebView与本地HTML (HTML调用-->Java的方法) , Android-WebView与本地HTML (Java调用--->HT ...
- Linux 下建立 SSH 隧道做 Socket 代理
背景 需要解决本地访问内部集群中各台机器上的内部web服务,但是内部集群不能直接访问,只能通过edge node节点跳转. 前提:edge node可以通过ssh方式访问,在edge node上可以访 ...
- Ubuntu 安装Sqldeveloper
linux下最好用的Oracle开发工具可能就是sqldeveloper了 首先在http://otn.oracle.com/ 上下载最新的Linux - sqldeveloper 我下载的时候版本是 ...
- dotnet core瘦身发布
需要安装nuget包Microsoft.Packaging.Tools.Trimming然后利用如下命令发布dotnet publish -r win10-x64 -c release --self- ...
- ASP.NET MVC 做的网站项目
感谢博客园团队日夜为广大需要获取知识人们所做的奉献 博客园团队您们辛苦了 ASP.NET MVC 实现有论坛功能的网站(有iis发布网站 这是之前写的... www.lazyfitness.cn 经过 ...
- 关于nginx部署vue项目的两个问题
首先我使用的是后端接口+前端vue的形式,这样就涉及到跨域的问题.我是这样配置的: server { listen 80; server_name www.liangyp.xyz;//访问网址 loc ...
- Android sharedUserId 和系统权限
sharedUserId 给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件). sharedUserId 一旦使用 ...
- win10安装Ubuntu双系统
1.软碟通做启动盘,不要用easyBCD,比较麻烦 2.windows10中取消选择"启用快速启动(推荐)" 3.压缩出空白卷 4.重启时按F12 5.在bios中将boot pr ...
- 跟着刚哥深入学maven(通俗易懂)
前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下. 一.为什么使用Maven这样的构建工具[why] ① 一个项目就是一个工程 如果项目非常庞大,就 ...