NHibernate学习(一)
NHibernate:
NHibernate 是一个面向.NET 环境的对象/关系数据库映射工具。对象关系映射(O/R Mapping,Object Relational Mapping)表示一种技术,用来把对象模型表示的对象映射到
基于SQL 的关系模型数据结构中去。
NHibernate的目标主要是用于与数据持久化相关的编程任务,能够使开发人员从原来枯燥的SQL语句的编写中解放出来。但数据库中使用存储过程来实现商业逻辑,这种情况下NHibernate可能不是最好的解决方案。
插曲:
什么是ORM
对象-关系映射(Object/Relation Mapping,简称ORM)。
[Object]的OO编程已经成为企业级开发中主流开发方法. 而关系型数据库也成为企业级应用环境中永久存放数据的主流数据存储系统. 因此,同样的数据一个是在实际编程中以Object面向对象方式体现, 而另外一种就是把这种内存对象持久化存储到硬盘文件上。也可以这么说,业务数据在OO程序内存中表现为对象,在数据库中表现为关系数据。
内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射.
NHibernate体系结构
注:NHibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。
两种体系:
轻量级体系,应用程序自己提供ADO.NET连接,并且自行管理事务。这种方式使用了NHibernate API的一个最小子集。
重量级体系:所有的底层ADO.NET API都被抽象了,所有的细节都让NHibernate来做。
以上资料参考:
http://www.cnblogs.com/GoodHelper/archive/2011/02/15/nhiberante_02.html
http://www.cnblogs.com/wolf-sun/p/3694592.html
http://www.cnblogs.com/lyj/archive/2008/10/10/1308267.html
其实主要先得了解ROM,然后在了解NHibernate的体系结构。体系结构有些复杂后续慢慢理解。
加油!!!!!!