一起谈.NET技术,NHibernate 3.0.0.Alpha1 发布及新特性介绍-阿里云开发者社区

开发者社区> 开发与运维> 正文

一起谈.NET技术,NHibernate 3.0.0.Alpha1 发布及新特性介绍

简介:   发布   刚刚NHibernate的Leader——Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本。   下载地址   你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下。

  发布

  刚刚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 ProviderNew 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映射

希望本文对你有所帮助。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章