LightSpeed的体验是什么? Mindscape提供的比较并没有对NHibernate说太多。 Lightspeed似乎很灵活,但我对性能的看法并不多。 Lightspeed的表现如何?使用Lightspeed还有什么缺点吗?
答案 0 :(得分:11)
在过去的六个月里,我一直在使用NHibernate和Active Record工作,而LightSpeed则在我的业余时间使用。
优点/缺点 到目前为止,我已经发现具有Active Record的LightSpeed和NHibernate可以直接学习。
我还没有找到LightSpeed的缺点(尚未)。我最喜欢的功能是:
我最喜欢Active Record的功能是:
Active Record的缺点是:
<强>性能强> 我还没有(还)将两种产品并排比较,并对两者进行性能测试。
我猜想NHibernate会受到更深层次的层次结构的影响。在使用ANTS Profiler优化我的代码时,我发现对于一个简单的查询,在生成实际的SQL查询之前,通过NHibernate类调用后调用。
当然,生成的查询会对ORM的最终性能产生重大影响。
LightSpeed和NHibernate都提供延迟加载,Active Record使NHibernate变得容易。
我认为使用Lightspe使用Linq优化查询更容易,对于维护代码的人来说更清晰。虽然通常不建议编写NHibernate HQL。
答案 1 :(得分:7)
关于表现,from this page
渴望&amp;延迟加载没有N + 1问题。 包括“命名聚合”。那是, 为特定的急切负载命名 图形。观看截屏视频。
不要低估这一点。这意味着如果您加载200个项目的列表,MOST ORM将在很多情况下运行201个查询。 Lightspeed没有。这是(非常)少数人之一。
如果你正在寻找一些在几个边缘情况下快几百毫秒的东西,祝你好运基准测试。我在理论上喜欢NH,而且我认为我从来没有使用ORM,但对于我所做的大部分工作,NH总是过度杀伤 - 我最终花了很多时间维护元数据,类文件,映射等等,有趣......测试。好吧,无论如何,这对我们来说。
答案 2 :(得分:4)
我最近快速浏览了两者。 Lightspeed让我印象深刻的是:
对我来说,最重要的是他们严重依赖惯例,而且在大多数情况下似乎没有超越。因此,在决定事物如何映射时,我的选择并不像我想的那么好。据说Lightspeed 3将解决此问题,以便您进行更多自定义。
由于所有的XML,我远离了NHibernate,但后来发现了Fluent NHibernate,看起来它的效果非常好。没有设计师支持,虽然有些人可能会说这是设计(专注于你的对象)。 NHibernate似乎也是.NET中使用最多的ORM,所以从这个意义上说它是一个“安全”的赌注。到目前为止,它已经能够映射出我能想出的大部分内容。
无论如何,由于自定义限制,我对Lightspeed的影响并不大。如果我开始一个符合其惯例的新项目,那可能是另一回事。该公司非常敏感,我真的很想使用他们的产品之一:)。
答案 3 :(得分:4)
我最近比较了大量的ORM,包括NH和Lightspeed。我专业地使用NH,所以我有点偏颇,文章是here。
答案 4 :(得分:2)
我一直在使用Lightspeed几个月,但我是.NET的新手,所以从未使用过NHibernate。到目前为止,我发现它很容易使用一个小的学习曲线,并不断更新。对我来说最大的好处就是支持。查询通常会在很短的时间内得到解答,并且发现的任何错误通常会在第二天得到解决,并且可以在夜间构建中使用。 不确定你所说的“Lightspeed的表现如何”?这家伙看起来很开心{:o) http://omarbesiso.spaces.live.com/blog/cns!70A5B53D721071B7!473.entry
答案 5 :(得分:0)
我在去年新西兰奥克兰的TechEd与这个产品的主要开发人员之一(Jeremy Boyd)聊过,并问了这个问题。他似乎认为它比NHibernate快几个数量级。这是他的产品,所以他会说,但我认为值得一提。