你的位置:首页 > ASP.net教程

[ASP.net教程]Nhibernate的介绍


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映射方法介绍(该点自己也存在一定的疑问,如果有知道的园友请指正)

     介绍:对象和关系数据库之间的映射是用一个

     1、第一阶段:通过自己编写

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

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

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

 

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

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