NHibernate 变的简单.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NHibernate 变的简单

  下载示例程序代码 - 1,162.6 KB  前言  这篇文章出自于我尝试学习使用Nhiberbnate的挫败感。我发现好像Nhibernate全部的介绍材料不是很模糊就是太详细。我所需要的就是一个简单直接的教程,能让我尽快对NHibernate熟悉起来。我从来没有找到。幸运的是,这篇文章将会满足别人的这些需求。  这篇文章有些长,但是我鼓励你以你的方式来阅读。NHibernate是一个复杂的程序,是一个绵延曲折的学习过程。这篇文章将为你踏平曲折,从几天或是几周缩短到几个小时。  问题  NHibernate目的是解决一个众所周知的问题,对象持久代码在开发过程中的瓶颈问题。很多文章表明:1/4到1/3的程序代码是关于对象持久化,从数据库中读取数据,和将数据写回数据库。代码是重复的,耗费时间的,还有很多琐碎的代码要写。  对于这个问题,有很多解决方案是可用的。代码生成可以在几秒钟生成数据访问代码。但是如果业务模型改变,这些代码需要重新生成。对象关系映射(ORMs)使用了一种新的方式,像NHibernate。他们管理数据访问更加透明,提供了很多简洁的API,可以使用一辆行代码来实现加载和保存整个对象。  介绍NHibernate  NHibernate是一个持久化引擎框架。它从数据库中加载业务对象,以及将这些对象的变化更新到数据库中。从文章上面可以看出,它可以只使用一两行代码实现业务对象的加载和保存。  NHibernate使用映射文件来引导从数据库数据到业务对象的转换。还有一种方法,你可以使用类的特性和属性来替代映射文件。为了让事情尽量简单,我们在这篇文章中将使用映射文件,而不是使用类特性。另外,映射文件能够很清晰的将业务逻辑和持久化代码分开。  好了,我们只需要在程序中添加几行代码,和为每一个映射文件创建持久化类,而且NHibernate可以照顾到所有的数据库操作。真不知道使用NHibernate将为我们节省多少开发时间。  记住在.NET环境下,NHibernate并不是唯一的ORM框架。有许多商业的和开源的产品可以提供这样的服务。NHibernate是其中最流行的,主要是因为他遗传自强大的Hibernate,一个Java环境下非常流行的ORM框架。另外,微软也为ADO.NET提供了Entity Framework,来提供ORM服务。但是,这个产品已经延迟,好长时间已经没有再释放了。  安装NHibernate  使用NHibernate的第一步就是下载NHibernate和Log4Net(一个开源的日志记录程序,NHibernate使用它来记录错误和警告),NHibernate包含了Log4Net最新的版本,你也可以下载整个Log4Net安装包,这里是下载地址:NHibernateLog4Net  NHibernate不是直接需要Log4Net,可是在调试期间它的自动记录日志功能非常有用。  现在开始  在这篇文章中,我将使用一个简单的示例程序,而不是解说如何使用NHibernate来进行数据访问。这是一个控制台应用程序,通过消除UI代码让程序变的更加简单。这个程序将创建很多个业务对象,来使用NHibernate来对他们进行持久化,然后将他们从数据库中读取出来。  为了程序运行起来,你需要做一下几个事情:为陈旭添加NHibernate和Log4Net的程序集引用为程序添加数据库修改数据库连接字符串  这个示例程序引用NHibernate和Log4Net。这些应用应该被你的机器识别,如果你的NHibernate和log4net安装在默认的目录里。如果这些引用不被识别,你可以分别使用NHibernate.dll和Log4Net.dll来替换引用位置。这些DLL文件可以在NHibernate的安装目录中找到。  这个示例程序是按照SQL Server Express 2005来配置的,数据库文件(NhibernateSimpleDemo.mdf和NhibernateSimpleDemo.ldf)已经打包在压缩文件里。你可以将数据库搭在你机器的SQL Server上。  最后,数据库的连接字符串配置在App.config文件中,默认你使用的是SQL Server数据库。你可以自己根据自己机器SQL Server的版本,来修改数据库的连接字符串。  业务模型  这里有两种方法使用NHibernate创建应用程序。第一种是“以数据为中心”的方法,它从数据模型和创建业务对象开始。第二种是“以对象为中心”的方法,从业务模型和创建数据库来持久化这个模型开始。这个示例程序使用以对象为中心的方式。  这里示例中的业务模型:  这个模型表现了一个订单系统的框架,这个模型是不完整的,这里只是使用了几个类来解说使用NHibernate对象持久化。

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档