NHibernate或stream利的NHibernate?

我会有兴趣听取别人的意见,看他们是否会select(请不要“讨厌”),以及为什么。

使用stream利的缺点是什么? (版本依赖可能?)优点,缺点,经验等

stream利的NHIbernate位于NHibernate之上,所以它不是两者之间的select。 如果你打算使用NHibernate,CHOOSE在其上面使用Fluent NH来节省你大量的工作。

stream利NHibernate是真棒,我不会使用NHibernate没有它。 你可以stream利地映射所有的实体(给你编译时间检查和自动化testing支持),而不必维护繁琐的XML文件,记住它们的语法/ DTD。

它也可以根据默认和/或自定义约定自动映射您的实体。

只要使用它!

我肯定会说一口stream利的nhibernate。 只要意识到它可能不一定像你所希望的那样顺利。

  1. 关于版本依赖性

    1. 当升级到FNH的新版本时,我有一个“反向”依赖性问题,需要我升级到新版本的NH(2.0到2.1我认为)。 这对我来说不是一个大问题。
    2. 我刚刚(今天早上)把NH 2.1.1放到了FNH 1.0 RTM(这个版本是2.1.0),没有任何戏剧(还)。
  2. 编辑:由于写这篇文章FNH已经大大成熟了,我不认为这是一个真正的问题了 映射支持 – 一些映射是不可能与stream利的nhibernate。 但是,这并不是避免FNH的原因,因为混合的fluent-xml映射允许您在stream畅无法映射的情况下对传统xml进行回退(尽pipe这只是按照每个粒度)。 映射的例子:

    1. 还无法映射字段 – http://groups.google.com/group/fluent-nhibernate/browse_thread/thread/a7787927dafd23a/84ce2616946a18d7
    2. 无法映射字典http://groups.google.com/group/fluent-nhibernate/browse_thread/thread/d38b6c72250cd2fb的某些时间; – 实际上从我收集的function存在,但不在主线。
  3. 复合复杂因子。 从它的声音,你将同时学习FNH和NH。 对于绝大多数相当简单的应用程序来说,这是很好的 – 事实上FNH通常非常好,所以您需要对hbm.xml映射知之甚less。 但是,如果你想去做一些相当复杂的事情,那么第一次很less工作,而且你不知道是PEBKAC,stream利还是NH问题。 比我希望的更多的时候,我最终写了传统的XML映射(当然,你是这样做的,但最好不要花费更多的努力,而不是必要的stream利的首先)。

和NHibernate一起使用Fluent NHibernate的优点是,如果你弄乱了你的映射,而不是运行时错误,你会得到编译时错误。 在重构代码的时候,你也可以获得更好的体验,因为当你重命名属性或其他types时,映射保持最新状态,而不必记住手动修改你的XML映射文件。

Fluent NHibernate最大的缺点就是它还处于开发的早期阶段,随着框架的发展,有相当大的风险。

就我个人而言,由于我对映射文件感到满意,所以我并没有真正得到stream利的nhibernate。 使用Visual Studio创build映射文件是一件轻而易举的事情,您可以为xml文件设置架构,从而为映射文件提供智能感知。 我同意编译时语法检查对于使用fluent-nhibernate来说是一个优点,但是我已经熟悉XML映射,所以我很努力学习stream利的API。 也许我应该克服我的恐惧,并已经学会了…… 🙂

stream利的N-Hibernate对NHibernate来说是一个不错的包装。 pipe理Fluent中的映射比xml映射更好。 发展到stream利的发展速度…

如果您使用Entity Developer创build实体和数据库模式,那么最好。

Interesting Posts