Spiga

NHibernate 3.0.0.GA正式发布了

2010-12-05 12:47 by 李永京, 5771 visits, 收藏, 编辑

发布

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在线参考文档:已经更新至NHibernate 3.0.0版本,具体修改了一些错误和增加了QueryOver章节。

博客园NHibernate专题

NHibernate3剖析系列文章

ConfORM实战系列文章

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版本控制。

希望本文对你有所帮助。

标签: NHibernate
Add your comment

56 条回复

  1. #1楼 Clingingboy      2010-12-05 13:07
    好消息:)
     回复 引用 查看   
  2. #2楼 clound      2010-12-05 13:22
    李哥给力呀 :)
     回复 引用 查看   
  3. #3楼 张郎      2010-12-05 13:26
    期待后续文章,关注!
     回复 引用 查看   
  4. #4楼 LeoXing      2010-12-05 13:26
    总算发布GA版了,新的框架总算可以用上了~~
     回复 引用 查看   
  5. #5楼[楼主] 李永京      2010-12-05 13:31
    @LeoXing
    唉,现在该升级了,用上新功能...
     回复 引用 查看   
  6. #6楼 Ringgo.Yao      2010-12-05 14:04
    京哥v5,牺牲假日时间。。
     回复 引用 查看   
  7. #7楼 wandiao      2010-12-05 14:06
    期待李哥把后续3.0的教程在整理一下,呵呵
     回复 引用 查看   
  8. #8楼 沉默的糕点      2010-12-05 14:31
    迟了,没有沙发
     回复 引用 查看   
  9. #9楼[楼主] 李永京      2010-12-05 14:51
    @Clingingboy
    消息早就知道了...
     回复 引用 查看   
  10. #10楼[楼主] 李永京      2010-12-05 14:52
    @张郎
    @clound
    谢谢支持
     回复 引用 查看   
  11. #11楼[楼主] 李永京      2010-12-05 14:52
    @Ringgo.Yao
    这个博文和以前的比较雷同
     回复 引用 查看   
  12. #12楼[楼主] 李永京      2010-12-05 14:53
    @wandiao
    恩,我打算做个导航
     回复 引用 查看   
  13. #13楼[楼主] 李永京      2010-12-05 14:53
    @沉默的糕点
    呵呵,只要支持就行了..
     回复 引用 查看   
  14. #14楼 kiler      2010-12-05 16:03
    此文不错,值得推荐!
     回复 引用 查看   
  15. #15楼 LeoXing      2010-12-05 18:56
    也不用重新写什么了,将之前的那个系列文章升级下,来个第二版就可以了,再扩展一些新加入的东西。
     回复 引用 查看   
  16. #16楼 show_show      2010-12-05 20:47
    关注NH 快2年了

    收获最大的是 传说中的舷哥 的系列

    可惜那小子太监了。。。


    李哥 的文章 其实很不错。。。。。刚开始(早年的文章)的时候虽然有点乱。。。

    但是作为我们这样能力一般的人 真的很希望 李哥 能出个系列。。完整做一个项目。。这个问题我之前好像提过。。反正刚好3.0GA出来了

    包括 NH分页啊 灵活的高级查询啊 之类的东西。。。。非常非常期待

    很少回这么多。。

     回复 引用 查看   
  17. #17楼 爬树      2010-12-05 20:50
    好消息,期待博主的更多好文。
     回复 引用 查看   
  18. #18楼 鹤冲天      2010-12-05 21:06
    好消息
     回复 引用 查看   
  19. #19楼[楼主] 李永京      2010-12-05 22:18
    @show_show
    恩,知道了,09年早期文章是我学习时候记下来的,当时没有一个整体思想,所以很乱。将来我会慢慢完善NHibernate3剖析系列的。
     回复 引用 查看   
  20. #20楼[楼主] 李永京      2010-12-05 22:19
    @LeoXing
    过去的文章就不管了,升级还不如重写咯,这是博客,有时效性
     回复 引用 查看   
  21. #21楼[楼主] 李永京      2010-12-05 22:19
    @爬树
    谢谢支持.
     回复 引用 查看   
  22. #22楼 FCS128      2010-12-05 22:38
    此文不错,值得推荐!
     回复 引用 查看   
  23. #23楼 李磊(leige)      2010-12-05 23:17
    非常期待哥能弄个系列出来看看。现在还没入门,最近一直在关注。顺便弱弱的问一个。怎么入门才比较快的?谢谢哥。
     回复 引用 查看   
  24. #24楼 5207      2010-12-05 23:58
    此文不错,值得推荐!
     回复 引用 查看   
  25. #25楼 杨国伟      2010-12-05 23:59
    此文不错,值得推荐!
     回复 引用 查看   
  26. #26楼 Jake Lin      2010-12-06 06:51
    此文不错,值得推荐!
     回复 引用 查看   
  27. #27楼 低级程序员      2010-12-06 08:12
    此文不错,值得推荐!
     回复 引用 查看   
  28. #28楼 yangPrj      2010-12-06 08:45
    好久没有用nhibernate了,习惯了微软的linq,不能用linq实现的。 只接写Sql nhibernate 实战的意思有点少。。但我喜欢nhibernate
     回复 引用 查看   
  29. #29楼 virus      2010-12-06 08:45
    那就再等一两个月吧。使用.NET4版本的NH
     回复 引用 查看   
  30. #30楼[楼主] 李永京      2010-12-06 08:46
    @virus
    NH4要等1年,哈哈
     回复 引用 查看   
  31. #31楼[楼主] 李永京      2010-12-06 08:46
    @yangPrj
    现在可以用NHibernate3中的linq查询了
     回复 引用 查看   
  32. #32楼[楼主] 李永京      2010-12-06 08:48
    @李磊(leige)
    按照一个结构去学习,这样效果比较快。这几天我会把结构写出来
     回复 引用 查看   
  33. #33楼[楼主] 李永京      2010-12-06 08:49
    @低级程序员
    @Jake Lin
    @杨国伟
    @5207
    @FCS128
    谢谢推荐.
     回复 引用 查看   
  34. #34楼 yangPrj      2010-12-06 08:57
    恩,等我有时间的时候看看
     回复 引用 查看   
  35. #35楼 Cool it      2010-12-06 09:04
    此文不错,值得推荐!
     回复 引用 查看   
  36. #36楼 xiaosonl      2010-12-06 09:18
    应该把Fulunt NHibernate也整合进来
     回复 引用 查看   
  37. #37楼 Gavin2010      2010-12-06 09:32
    此文不错,值得推荐!
     回复 引用 查看   
  38. #38楼[楼主] 李永京      2010-12-06 09:33
    @xiaosonl
    现在不推荐使用这个了,推荐ConfORM
     回复 引用 查看   
  39. #39楼 kasoo      2010-12-06 09:37
    好消息,不过还要等Spring.net支持了再升级来用!
     回复 引用 查看   
  40. #40楼 燕之威      2010-12-06 09:37
    迟来一步. 还是倾向于 nh designer,因为我要从 实体到数据库。
     回复 引用 查看   
  41. #41楼 xiaosonl      2010-12-06 09:42
    @李永京
    ConfORM这东西成熟不?
     回复 引用 查看   
  42. #42楼[楼主] 李永京      2010-12-06 09:43
    @kasoo
    嗯,估计也快了
     回复 引用 查看   
  43. #43楼[楼主] 李永京      2010-12-06 09:43
    @燕之威
    还是手写Domain比较方便,不要倾向于生成
     回复 引用 查看   
  44. #44楼[楼主] 李永京      2010-12-06 09:44
    @xiaosonl
    嗯,比较成熟了,通过了很多测试和多种Domain。已经用在项目中了
     回复 引用 查看   
  45. #45楼 DevinShaw      2010-12-06 09:50
    此文不错,值得推荐!
     回复 引用 查看   
  46. #46楼 DevinShaw      2010-12-06 09:52
    对NH,EF,LINQ 等等选择的问题上,需要高手指点
     回复 引用 查看   
  47. #47楼 燕之威      2010-12-06 10:05
    @李永京
    不是不想写啊,项目组里面的人都在自己做生成器了,还是从数据库到domain的,我看了蛋疼,那么多生成器,还自己做,让他们用这个算了。
     回复 引用 查看   
  48. #48楼 双鱼座的牛      2010-12-06 10:25
    好文章呀,我的nhb之路就是看着楼主的文章开始的
     回复 引用 查看   
  49. #49楼 燕之威      2010-12-06 11:42
    此文不错,值得推荐!
     回复 引用 查看   
  50. #50楼 东华一只球      2010-12-07 16:59
    此文不错,值得推荐!
     回复 引用 查看   
  51. #51楼 东华一只球      2010-12-07 17:02
    新增对WCF的支持,提供WcfOperationSessionContext,我们可以直接配置"current_session_context_class"为"wcf_operation",直接在WCF中应用NHibernate。
    wcf以前序列化nhibernate的模型对象时,由于循环引用导致用起来非常麻烦,现在这个新增的支持能解决这个问题么?
     回复 引用 查看   
  52. #52楼 Henley Gao      2010-12-08 22:56
    NHibernate Profiler 有没有破解版?怎么使用?
     回复 引用 查看   
  53. #53楼 OwenGong      2010-12-13 16:46
    DataServiceContext 延时加载 对象的关联对象 关联对象的关联对象
    在wcf 中
    http://localhost/../POCService.svc/Customer(3L)/Order(3L)/OrderItem 就可以表示这个关系 不知道这个关系 DataServiceContext 怎么样体现
     回复 引用 查看   
  54. #54楼[楼主] 李永京      2010-12-13 16:55
    @OwenGong
    wcf不支持延迟加载..需要特殊处理
     回复 引用 查看   
  55. #55楼 完美猪猪      2010-12-23 14:20
    @东华一只球
    我和你一样的问题
     回复 引用 查看   
  56. #56楼 红旗飘飘      2011-05-17 10:25
    @李永京
    怎么特殊处理,求解
     回复 引用 查看   
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1896839 Sawu7BZp1Uw=