发布
刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。
下载地址
你能够到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件以下。
NHibernate源码:NHibernate-3.0.0.Alpha1-src.zip
NHibernate二进制文件:NHibernate-3.0.0.Alpha1-bin.zip
特性介绍
NHibernate 3.0.0版本能够说是跨时代的一个版本,NHibernate贡献者们通过了一年的完善和测试,增长了很是多的新特性和修复不少BUG。下面我本身归类总结一下这些新特性吧。
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,帮助咱们“自动”实现Mapping,固然了,ConfOrm不是NHibernate的一部分,咱们须要另外单独下载。
Query部分
在NHibernate 3.0.0版本中,新增了New Embebed Linq Provider和New strongly typed query API (QueryOver)两种查询方式,那么NHibernate 3.0.0如今支持了7种查询方式。
QueryOver是Lambda表达式方式的条件(Criteria)查询,可读性强且支持property-renaming特性。
Linq是由Steve Strong贡献者开发的,彻底基于AST的Linq Provider实现。在以前的NHibernate2.1.2版本中没有提供Linq功能,Ayende Rahien贡献者另外设计第三方NHiberante.Linq.dll(目前已经中止了维护),它是基于Criteria API的Linq Provider,主要功能是将简单的Linq表达式转化为Criteria API,因此存在不少天生的不足,如今咱们能够彻底抛弃这个第三方dll了,彻底使用NHibernate3.0.0自带全新的Linq查询支持。
其余
除了上面能够归类的新特性,还提供了不少新特性,我先来列举一下:
属性延迟加载特性:这是咱们一直以来求之不得的功能,NHibernate 3.0.0实现了,这里注意一下,它仅支持Castle的bytecode-providers,不支持Spring.Net和LinFu。
No Proxy关联特性:这个功能和上面的差很少。
内置hbm2ddl工具。
还有其余特性不一一列举,更多信息请参考发行文件。之后博文介绍。
博文分享
其实,我以前介绍了有关NHibernate 3.0.0版本的新特性,其中NH剖析系列就是基于NHibernate 3.0.0版本的,下面列举一下分享下,之后会慢慢博文Query部分和其余部分特性介绍。
NH剖析:Configuration篇——SessionFactory的Properties之fluent-configuration配置
NH剖析:Configuration篇——SessionFactory的Properties之lambda-configuration配置
NH剖析:Configuration篇——SessionFactory的Cache之lambda-configuration配置
NH剖析:Mapping篇之ConfORM实战(1):概览
NH剖析:Mapping篇之Mapping概览
NH剖析:Mapping篇之集合映射基础(1):Set映射
NH剖析:Mapping篇之集合映射基础(2):Bag映射
NH剖析:Mapping篇之集合映射基础(3):List映射
NH剖析:Mapping篇之集合映射基础(4):Map映射
但愿本文对你有所帮助。session