问题说明了一切。使用使用NHibernate 1.2的旧代码库。作为升级的一部分,我将获得什么,我将失去什么,或者经历痛苦?总体努力是否值得获益,如果是,那么这些好处是什么?虽然我很喜欢,但是转到Fluent NHibernate是否有意义?
答案 0 :(得分:1)
这实际上取决于你正在使用的nhibernate函数。获取发布节点,看看您使用的是否有任何内容。 3.2中的大部分功能仍然相同。您必须在映射文件中进行一些升级。
我当时会做一个改变。所以让它在没有Fluent的情况下工作,并决定是否值得做到流利。您还应该查看QueryOver和linq。
的用法答案 1 :(得分:0)
NH 3.2中最有趣的新功能之一是您现在可以使用代码映射,而不是使用HBL文件。这与FNH多年来一样,但融入了主要的NH项目。
我自己并没有在NH中使用过它(我是FNH Automapping的忠实粉丝),但我的阅读表明,许多FNH用户认为这比FNH等效成熟得多。
FNH仍然领先于NH的一个领域是前面提到的Automapping。 NH刚刚还没有这样做(虽然有一些误导性的博客帖子暗示它确实如此)。
对于您当前的项目可能没什么价值(您已经经历了设置HBL文件的痛苦),但对于新项目可能非常有价值。我们在项目中使用它,它允许我们随意改变我们的对象模型,让Automapping为我们重建数据库。
最后,正如我写的那样,FNH没有正式发布NH 3.2。我一直在尝试最新的FNH版本(1.3),而且它“尚未完全存在”。但它可能会很快。
答案 2 :(得分:0)
Nhibernate 3.2有一个功能最强大的Linq提供商,如果你喜欢Linq,这很好。