【问题标题】:What to be aware of when upgrading NHibernate from 1.2 to 3.2?将 NHibernate 从 1.2 升级到 3.2 时需要注意什么?
【发布时间】:2011-12-05 16:31:22
【问题描述】:

问题说明了一切。使用使用 NHibernate 1.2 的旧代码库。作为此次升级的一部分,我将获得什么,我将失去什么,或经历什么痛苦?付出的全部努力是否值得,如果是,这些好处是什么?当我在做这件事的时候,仅仅迁移到 Fluent NHibernate 是否有意义?

【问题讨论】:

标签: nhibernate orm fluent-nhibernate


【解决方案1】:

这实际上取决于您使用的休眠功能。获取发布节点并查看您正在使用的是否有任何东西。大多数功能在 3.2 中仍然可以正常工作。您必须对映射文件进行一些升级。

当时我会做一个改变。所以让它在没有流利的情况下工作,并决定是否值得流利。您还应该看看 QueryOver 和 linq 的用法。

【讨论】:

    【解决方案2】:

    NH 3.2 中最有趣的新功能之一是您现在可以使用代码进行映射,而不是使用 HBL 文件。这是 FNH 多年来一直拥有的相同功能,但已集成到主要的 NH 项目中。

    我自己没有在 NH 中使用过这个(我是 FNH Automapping 的忠实粉丝),但我的阅读表明,许多 FNH 用户认为这比 FNH 的同类产品更不成熟。

    FNH 仍然领先于 NH 数英里的一个领域是前面提到的自动映射。 NH 还没有这样做(尽管有一些误导性的博客文章暗示它这样做)。

    可能对您当前的项目没有多大价值(您已经经历了设置 HBL 文件的痛苦),但对于新项目可能非常有价值。我们在项目中使用它,它几乎可以让我们随意改变我们的对象模型,并让Automapping为我们重建数据库。

    最后,在我写这篇文章的时候,还没有正式发布带有 NH 3.2 的 FNH。我一直在尝试最新的 FNH 版本 (1.3),但它“还没有完全实现”。不过应该很快了。

    【讨论】:

      【解决方案3】:

      Nhibernate 3.2 有一个主要功能的 Linq 提供程序,如果您喜欢 Linq,这很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-27
        • 2011-03-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多