1、介绍的内容

1、感谢园友的文章支持 by 李永京 by wolfy

2、Nhibernate的框架介绍

3、Nhibernate的架构介绍

4、Nhibernate映射方法介绍(该点自己也存在一定的疑问,如果有知道的园友请指正)

2、参考文章

由于英语一向都不太好,虽然最近在改进ing,可是让我看英文的文档还是会存在一定的问题,所以这里非常感谢之前园友对NHibernate的研究并且记录,以下是我主要参考的两位园友的文章

http://www.cnblogs.com/lyj/archive/2008/10/10/1308267.html     李永京大神的文章

http://www.cnblogs.com/wolf-sun/p/4138918.html                       wolfy的文章

3、项目准备

VS2013、oracle11g、Nhibernate

4、Nhibernate的框架介绍

NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。

在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的。而NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET 数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。

  NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来,解放出来的精力可以让开发人员投入到业务逻辑的实现上。对于以数据为中心的程序,开发人员往往是在数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案,但对于那些基于.NET,并且能够实现OO业务模型和商业逻辑的中间层应用,NHibernate是最有用的。NHibernate可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换成一系列的对象。  

NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。NHibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具

5、Nhibernate的架构介绍(这块就直接copy 李永京大神的)

你知道NHibernate到底什么样子?下面我摘取官方文档中的三幅不同的结构图稍做说明。

第一幅图:NHibernate体系结构非常抽象的概览

这幅图展示了NHibernate在数据库和应用程序之间提供了一个持久层。

第二幅图:轻量级体系,应用程序自己提供ADO.NET连接,并且自行管理事务。

第三幅图:重量级体系:所有的底层ADO.NET API都被抽象了。

6、Nhibernate映射方法介绍(该点自己也存在一定的疑问,如果有知道的园友请指正)

介绍:对象和关系数据库之间的映射是用一个XML文档(XML document)来定义的(这个是一个基础)。那么我们基于这个基础来讲下如何更加便捷的进行映射。

1、第一阶段:通过自己编写xml文档进行映射 (这种方法适合新入门的联系)

2、第二阶段:通过代码生成工具进行映射(请园友知道的列下工具,因为之前公司用的是定制化开发出来的生成工具的)

3、第三阶段:通过FluentNHibernate进行再代码中进行关系映射

4、第四阶段:通过ConfORM工具进行   该介绍在李永京的文章中可以找到  (我也不太了解)

暂时只有这四部分,如果有其他的方法,请园友提供指正,现阶段Nhibernate的文章基本都是2013年之前的,参考的价值只能适用入门。网上的实例文章跨度介绍,实在让人有些迷糊。所以想写一篇最近的文章出来,让大家一起讨论,一起进步。

毕竟流水线一样工作了5年,最后发现自己什么都没学到。

Nhibernate的介绍的更多相关文章

  1. NHibernate简单使用介绍

    1.在数据库中新建表格,并插入记录,SQL如下: USE WFC_DB GO create table Students ( Id ,) not null, Name ), Age int, Scor ...

  2. 六步实现Spring.NET 与 NHibernate 的整合

    最近刚完成一个项目,其中对数据库的架构用到的是Spring.NET 与 NHibernate相结合的产物.对于这两项技术,我自己也不是太熟悉,不过好在网上有很多关于这方面的介绍文档,在这里就不多说了. ...

  3. 华丽的NHibernate

    华丽的NHibernate http://www.cnblogs.com/kissdodog/archive/2013/02/21/2919886.html 华丽的NHibernate NHibern ...

  4. NHibernate Linq查询 扩展增强 (第九篇)

    在上一篇的Linq to NHibernate的介绍当中,全部是namespace NHibernate命名空间中的IQueryOver<TRoot, TSubType>接口提供的.IQu ...

  5. 一步步学习NHibernate(1)——NHibernate介绍

    请注明转载地址:http://www.cnblogs.com/arhat 第十五章 从本章开始,老魏将给大家一起学习NHibernate这个流行的ORM框架,本来老魏想要和大家一起探讨微软的EF框架的 ...

  6. LSJ_NHibernate第一章 NHibernate介绍

    前言: 说起NHibernate网上资料真不少,但用的人却并不多,说起java的SSH框架大家可能就知道了,这里的H指的就是Hibernate,一款好用的ORM框架,在.net重写了这款好用的框架,名 ...

  7. 使用NHibernate(6)-- HQL && ICriteria 简单介绍

    1,HQL. HQL是NHibernate特有的查询方式,早先的java语法还没有类似Linq的Jinq,所以Hibernate就弄了一套自己的查询语言,NHibernate移植的时候把这种语言也一块 ...

  8. NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

    原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系 ...

  9. C# 数据操作系列 - 11 NHibernate 配置和结构介绍

    0. 前言 今天是NHibernate的第二篇内容,通过上一篇的内容,我们初步了解了NHibernate的创建和使用.这一篇,我继续探索NHibernate背后的秘密.嗯,就是这样. 1. NHibe ...

随机推荐

  1. php加密解密0x数组

    <?php //加密字符串 $str='hello world'; $arr=str_split($str); $arr1=array(); foreach($arr as $v){ $ordv ...

  2. linux 服务器登录显示lastlogin

    1.参数修改: /etc/ssh/sshd_config 问价里边的 printlastlog 设置为yes /etc/ssh/sshd_config 问价里边的 printmotd 设置为yes 2 ...

  3. 解决Cannot modify header information - headers already sent by

    output_buffering = On ,在php.ini中设置.

  4. SharePoint report site.

    Create site. Upload rdl files into Dashboards lib. Manage Data source. Select the rdl file and click ...

  5. MySQL_财务统计各产品品类各城市上周收入毛利表_20161202

    注:财务需要统计各产品品类各城市上周毛利情况 下面这样的表是沟通后展现的形式.数据展现形式我认为的大都是行列转 列转行的转置 从财务角度这样展现形式比较适合. 由于黄色部分为汇总项目,因此我拆分成9个 ...

  6. PHPRPC jsp发布服务

    PHPRPC是面向服务的高性能远程过程调用协议.PHPRPC for java 是此协议的一种实现,详细请到官方看PHPRPC的介绍 ,以其它rpc协议的性能对比请:Java.PHPRPC.Hessi ...

  7. nginx rewirte

    server { listen 8888; server_name jobPhp; root F:\ck\Porject\quanRelease\quanJob; try_files $uri $ur ...

  8. Docker上运行dotnet core

    下载microsoft/dotnet镜像 运行命令: docker pull microsoft/dotnet 如果没有使用阿里镜像加速的,参照这篇先配置好再跑上面命令: http://www.cnb ...

  9. switch(面试)

    public static void Output() { ; ) { i--; switch (i) { : Console.WriteLine(i.ToString()); break; : Co ...

  10. 关于引用类型作为参数加上ref与不加ref的区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...