• NHibernate系列文章一:NHibernate介绍


    摘要

    NHibernate是一个成熟的开源的面向对象的.net映射框架。大量的实际项目中正在使用该框架。他是建立在ADO.Net基础之上。目前的版本是NHibernate 4.0.4。本系列文章都是基于NHibernate 4.0版本。

    1. 什么是ORM?

    ORM指Object Relational Mapping。他是一种让你可以在面向对象和关系数据库之间互相映射的技术。

    现实世界中,每个事物都是对象。我们称具有自己数据属性的事物为对象。

    关系世界都是以集合为基础的表和数据行记录。这不同于面向对象世界。

    在面向对象的世界里,我们使用单向关联。然而,在关系世界里,我们使用外键作为双向关联。

    面向对象有继承的概念。例如,车辆类有很多继承类,小汽车是一种车辆,跑车也是一种车辆。这种都是继承关系。

    在关系世界里,没有继承的关系。

    ORM是对象世界和关系世界的一座桥梁,通过映射关系,简化了大量操作数据库的代码。

    NHibernate是一个ORM的工具。

    2. NHibernate架构

    • NHibernate在应用程序中充当数据访问层
    • 将关系数据库映射成应用程序中的持久化对象
    • 使用app.config作为数据库配置文件(数据库连接,日志等)
    • 使用xml mappings文件作为数据库映射配置文件(也有支持其他映射方法:属性映射、Fluent Mapping、Auto-Mapping)

    3. NHibernate与其Entity Framework框架比较

    • NHibernate提供二级缓存
    • NHibernate支持字典数据类型
    • NHibernate支持Batch Update/Insert优化
    • NHibernate支持更多种类数据库,支持SQL Server, Oracle, DB2,  Firebird, MySQL, PostgreSQL, SQL Lite, 支持ODBC and OLEDB drivers。Entity Framework主要支持SQL Server数据库
    • NHibernate支持更好的并发访问(乐观并发控制)
    • NHibernate支持多样的查询方式,HQL、Critirial、Linq Query、Query Over和SQL Query

     本系列文章主要参考资料:

    《Nhibernate Tutorial》这本书比较浅显易懂,适合入门

    《NHibernate 3.0 Beginner Guid》入门书籍

    《Learning NHibernate 4》这本书适合进阶读者

  • 相关阅读:
    Educational Codeforces Round 10 C. Foe Pairs 水题
    Educational Codeforces Round 10 B. z-sort 构造
    CDOJ 1048 Bob's vector 三分
    Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
    第14届电子科大初赛民间盗版部分题目题解
    HDU 5654 xiaoxin and his watermelon candy 离线树状数组 区间不同数的个数
    HDU 5653 Bomber Man wants to bomb an Array. dp
    HDU 5652 India and China Origins 二分+并查集
    HDU 5651 xiaoxin juju needs help 数学
    HDU 5650 so easy 数学
  • 原文地址:https://www.cnblogs.com/uncle_danny/p/5631525.html
Copyright © 2020-2023  润新知