【问题标题】:Is it worth migrating to NHibernate 2.x from NHibernate 1.2?值得从 NHibernate 1.2 迁移到 NHibernate 2.x 吗?
【发布时间】:2011-01-25 00:32:01
【问题描述】:

我们在性能不佳的系统中使用 nHibernate 1.2。如果我们迁移到最新版本的 nHibernate,性能会有一些提升吗?

总的来说,迁移到最新版本的 nHibernate 是个好主意吗?

编辑:我想使用以下功能来提高性能。
1.二级缓存。 2. 连接表。 3. MultiQuery 到批量查询。

【问题讨论】:

    标签: performance nhibernate batch-file migration second-level-cache


    【解决方案1】:

    取决于 - 不。我会考虑直接进入开发主干....以获得更多/更好的 LINQ 支持。不知道什么时候可以测试,但我会冒险。 “当前”的 LINQ 很难使用(没有“StartsWith”查询,所以即使是基本的搜索表单也大多不可用)。

    如果你可以冒险,那是值得的。 LINQ 本身始终是迁移的一个理由——这是实现更好搜索的相当残酷的一步;)

    【讨论】:

      【解决方案2】:

      仅当您需要使用 NHibernate 2.0 提供的最新功能时。这是列出新功能的链接。

      Road Map

      我的经验告诉我为什么会有这样的表达:“如果它没有坏,就不要修理它!”站立。这里也一样。不过,NH 2.1.2.GA 相当有趣。您应该问的问题是“我是否需要这些新功能,或者它们是否对我的项目的未来扩展有用?”如果是,那就去吧,否则,保持它的工作方式。

      【讨论】:

        【解决方案3】:

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

        NHibernate Profiler 是一个实时可视化调试器,让开发团队能够获得宝贵的洞察力和视角来了解他们对 NHibernate 的使用。

        【讨论】:

        • 我同意,使用这个工具解决了很多问题。
        【解决方案4】:

        在完成从 1.2 到 2.0.1 再到 2.1.2 的转换后,我可以肯定地说我不会回去。

        MultiCriteria 实现对我来说是一个改变游戏规则的方法(无论是性能还是编码风格)。二级缓存可能与 1.2 相同,对于 Join Table 我没有使用它们,所以我无法评论。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-07-23
          • 2017-08-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-10
          相关资源
          最近更新 更多