在当今的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping (ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
NHibernate不仅仅管理.NET类到数据库表的映射(包括.NET数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和ADO.NET处理数据的时间。
NHibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,NHibernate可能不是最好的解决方案;对于那些在基于.NET的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,NHibernate是最有用的。不管怎样,NHibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。
如果你对NHibernate和对象/关系数据库映射还是个新手,或者甚至对.NET也不熟悉,请按照下面的步骤来学习。
花30分钟阅读1. 第一个NHibernate应用程序 ,这是一篇包含详细的逐步指导的指南。
阅读 2. 体系结构来理解NHibernate可以使用的环境。
把这份参考文档作为你学习的主要信息来源。 考虑读一下 Hibernate in Action (http://www.manning.com/bauer/) 或者是NHibernate in Action (http://www.manning.com/kuate/) 如果你在程序开发上需要更多的帮助或者是你更倾向于一个手把手的教程,那么你可以看看 http://nhibernate.sourceforge.net/NHibernateEg/,这是一个基于NHibernate的实例教程。
常见的问题和会在可以NHibernate社区博客找到。
第三方演示,例子教程的链接可以在 NHibernate资源找到。
NHibernate网站的“社区(Community Area)”是讨论关于设计模式以及很多整合方案(ASP.NET, Windows Forms,等等)的好地方。
如果你有问题,请使用NHibernate网站上链接的用户论坛。我们也提供一个JIRA问题追踪系统,来搜集bug报告和新功能请求。如果你对开发NHibernate有兴趣,请加入开发者的邮件列表。如果你有兴趣翻译该文档,请通过开发者的邮件列表里与我们联系。