升级NHibernate 1.2可以获得什么?

时间:2010-11-11 00:19:55

标签: nhibernate upgrade

我有一个使用NHibernate 1.2的项目。我知道它已经过时了,但我已经使用过了,因为我正在使用NHibernate in Action,它针对的是同一个版本。

我一直在想我应该更新我对该工具的理解,以及工具本身。但我想知道版本之间的差异是什么。我知道2.1已经流行了一段时间,并且3.0正在开发中。

迁移到NHibernate 2.1或3.0时会获得,丢失或更改哪些好处或功能?

6 个答案:

答案 0 :(得分:13)

脱离我的头脑并混合2.X和3.0功能...... LINQ支持,EventListeners(更强大的拦截器),System.Transaction支持,泛型支持,多查询,未来查询,SchemaUpdate(而不仅仅是SchemaExport) ,更好的HQL解析器,...加上许多错误修复。自NH 1.2以来NHibernate世界已经发生了很多事情......

答案 1 :(得分:7)

随着3.0.0的发布,NHibernate  包括对LINQ的支持  其他功能如:

除了一长串错误修复  和改进,它有几个新的  功能包括

  • 一个新的强烈 类型标准API,名为QueryOver
  • Lazy loading of columns
  • 生成的SQL中的别名分隔
  • 支持DetachedCriteria IStatelessSession。
  • 改进了对LINQ的支持,克服了之前提供商的HQL限制。

突破变化:

  • 升级用户应该知道 其中一个修复意味着null 词典中的值不再是 默默地忽略了,哪有 打破现有的潜力 应用程序代码。

答案 2 :(得分:3)

詹姆斯·科瓦奇(James Kovacs)对此进行了总结,但对于完整的变更清单,请查看https://nhibernate.svn.sourceforge.net/svnroot/nhibernate/trunk/nhibernate/releasenotes.txt

它包含所有NH版本的每个错误/改进/新功能。

答案 3 :(得分:1)

你得到了Linq的支持!

答案 4 :(得分:0)

我开始使用2.x +所以我不能说太多......但是一旦它退出测试版,我肯定会升级到3.0。主要是因为QueryOver看起来像ICriteria类型安全甾体!

答案 5 :(得分:0)

v3:删除对log4Net的依赖(通常是爱情或讨厌的东西)