1

我们在一个性能不佳的系统中使用nHibernate 1.2。如果我们迁移到最新版本的nHibernate,会有一些性能改进吗?是否值得从NHibernate 1.2迁移到NHibernate 2.x?

总体而言,迁移到最新版本的nHibernate是个好主意吗?

编辑:我想使用以下功能来提高性能。
1.二级缓存。 2.加入表格。 3.多批次查询。

回答

5

如果性能是您的问题,请考虑使用NHibernate Profiler

NHibernate Profiler是一个实时可视化调试器,它允许开发团队获得对NHibernate使用的有价值的洞察和观点。

+0

我第二点,使用这个工具解决了很多问题。 – pmlarocque 2010-03-08 15:19:43

1

有 - 无。我会考虑直接去开发中继线....为增加/更好的LINQ支持。不知道什么时候获得测试版,但我会冒险。 “当前”的LINQ很难使用(没有“StartsWith”查询,所以即使是基本的搜索表单也大多数)。

如果您可以冒险,这是值得的。仅LINQ本身总是一个迁移的理由 - 相当残酷的一步,以更好的搜索;)

1

只有当您需要使用由NHibernate 2.0提供的最新功能。以下是新功能列出的链接。

Road Map

我的经验告诉我,为什么表情:“如果它不破,不解决它!”站立。这里是一样的。不过,NH 2.1.2.GA很有意思。你应该问的问题是“我是否需要这些新功能,或者它们是否对未来扩展我的项目有用?”如果是的话,那就去做吧,否则,保持它的工作方式。

2

完成了从1.2到2.0.1,然后到2.1.2的转换后,我可以坚定地说我不会回去。

MultiCriteria实现对我来说是一个改变游戏规则(对于性能和编码风格)。二级缓存可能与1.2相同,对于连接表,我没有使用它们,所以我不能评论。

改进是全面的,并且某些部分已被重写。 除了相同的命名空间更改和类名更改外,没有任何问题,功能相同。 总的来说,我推荐它。