NHibernate 3.0.0.GA正式发布了
2010-12-05 12:47 李永京 阅读(9520) 评论(57) 编辑 收藏 举报发布
2010年12月4号Fabio Maulo发布了NHibernate 3.0.0.GA正式版本。
下载地址
你可以到这里下载NHibernate 3.0.0.GA,基于.Net3.5平台,具体文件如下。
- NHibernate二进制文件:NHibernate-3.0.0.GA-bin.zip
- NHibernate参考文档:NHibernate-3.0.0.GA-reference.zip
- NHibernate源码:NHibernate-3.0.0.GA-src.zip
特性介绍
NHibernate 3.0.0版本历经Alpha1、Alpha2、Alpha3、Beta1、Beta2、RC版本,修复了200多个BUG,增加了很多新特性。下面我自己归类总结一下这些新特性吧。
程序集部分
新的日志系统模块Logging Abstraction,移除对log4net.dll程序集依赖,现在可以用CommonLogging或者NLog。
Castle的bytecode-providers:使用2010年11月15号发布的2.5.2正式版本,即Castle.Core.dll程序集。
NHibernate 3.0.0版本现在支持.NET 3.5 Client Profile平台。
Configuration部分
新增两种方式流配置(fluent-configuration)和lambda表达式配置(lambda-configuration)配置SessionFactory。
新增对WCF的支持,提供WcfOperationSessionContext,我们可以直接配置"current_session_context_class"为"wcf_operation",直接在WCF中应用NHibernate。
在Configuration类中新增了AddDeserializedMapping(HbmMapping mappingDocument, string documentFileName)方法,可以直接解析HbmMapping,我们可以选择不使用xml文件Mapping。
Mapping部分
Fabio Maulo完全重构了NHibernate.Cfg.MappingSchema部分,提高了性能,另外Fabio Maulo设计了一个配置ORM工具——ConfOrm,解析Domain结构,按照模式适配器转换成HbmMapping类。当然了,ConfOrm不是NHibernate的一部分,我们需要另外单独下载。这个工具介绍,参考下面分享。
Query部分
在NHibernate 3.0.0版本中,新增了Linq Provider和strongly typed query API (QueryOver)两种查询方式。
QueryOver是Lambda表达式方式的条件(Criteria)查询,可读性强且支持property-renaming特性。
Linq是由Steve Strong贡献者开发的,完全基于AST的Linq Provider实现。
其他
除了上面可以归类的新特性,还提供了很多新特性:
属性延迟加载和No Proxy关联特性:它仅支持Castle的bytecode-providers,不支持Spring.Net和LinFu。
内置hbm2ddl工具。
映射支持XDocument、System.Uri、XmlDoc、Local & Utc DateTime类型。
新增SQL Anywhere方言。
还有其他特性不一一列举。
信息分享
博文和站点
NHibernate在线参考文档:已经更新至NHibernate 3.0.0版本,具体修改了一些错误和增加了QueryOver章节。
NHibernate新书:NHibernate 3.0 CookBook
工具
HQL Language Service for Visual Studio:为我们编写HQL查询提供了智能提示和语法验证检查功能。
NHibernate Profile:可视化NHibernate性能检测优化工具。
Visual NHibernate:可视化设计和映射工具。
Mindscape NHibernate Designer:VS设计工具,类似于EF设计器。
未来
据我了解的情况来看,将来的版本发布预计一两个月后会发布3.0.1版本,然后就升级至.Net4平台开发NHibernate 4版本,主要就是逐步改写内部代码去掉Iesi.Collections.dll,使用.Net4提供的ISet集合和添加一些新功能,比如Duck Typing等。
还有NHibernate源码将迁移到CodePlex网站,使用Hg版本控制。
希望本文对你有所帮助。