繁体   English   中英

光速vs NHibernate

[英]Lightspeed vs NHibernate

LightSpeed的经验是什么? Mindscape提供的比较并没有过多说明NHibernate。 Lightspeed似乎很灵活,但我对性能的了解不高。 Lightspeed的表现如何? 使用Lightspeed还有任何缺点吗?

在过去的六个月中,我在业余时间一直使用NHibernate和Active Record,而在家使用LightSpeed。

优点/缺点到目前为止,我发现带有Active Record的LightSpeed和NHibernate都很容易学习。

尚未发现LightSpeed的缺点。 我最喜欢的功能是:

  • 约定优于配置。 这样可以节省大量时间并提供一致的代码。
  • 模型类和配置生成器。
  • 支持Linq和MySQL 5。

我最喜欢Active Record的功能是:

  • 无需XML配置,将自动提供最常用的配置选项。
  • NHibernate的灵活性在需要时仍然可用(例如,标准查询)。

Active Record对我来说有以下缺点:

  • Ruby on Rails代码示例似乎比C#示例更多

性能我尚未(尚未)同时比较两个产品,并在两个产品上均进行了性能测试。

我猜想NHibernate会遭受更深层次的类层次结构的困扰。 在使用ANTS Profiler优化代码时,我发现对于一个简单的查询,在实际的SQL查询产生之前,需要先通过NHibernate类进行调用。

当然,产生的查询将对ORM的最终性能产生重大影响。

LightSpeed和NHibernate都提供延迟加载,而Active Record使NHibernate易于实现。

我认为使用Lightspeed和Linq来优化查询更容易,并且对维护您的代码的人来说更清晰。 而通常不建议编写NHibernate HQL。

关于效果, 从此页开始

渴望和延迟加载没有N + 1问题。 包括“命名聚合”。 也就是说,给特定的紧急负载图起个名字。 观看截屏视频。

不要小看这个。 这意味着,如果您加载200个项目的列表,则在大多数情况下,大多数ORM都会运行201个查询。 光速没有。 这是(很少)很少的之一。

如果您正在寻找在某些情况下快100ms的东西,那么祝您好运基准测试。 从理论上讲,我喜欢NH,但我不认为我不会使用ORM,但就我所做的大部分事情而言,NH完全是过分的-我最终花了很多时间来维护元数据,类文件,映射等,这很有趣。 好吧,反正这是给我们的。

我最近快速浏览了两者。 Lightspeed给我的印象是:

  • 他们的工具效果很好(我认为我曾经使用过的最好的VS设计师)。
  • 响应速度非常快。 他们回答了问题并添加了功能。

对我来说,最卖座的事情是他们严重依赖惯例,并且在大多数情况下似乎并没有覆盖。 因此,在准确确定事物的映射方式时,我的选择并不如我所愿。 据说Lightspeed 3将解决此问题,以便您进行更多自定义。

由于使用了所有XML,我没有使用NHibernate,但随后找到了Fluent NHibernate,看起来效果很好。 没有设计人员的支持,尽管有些人可能说这是设计使然(专注于您的对象)。 NHibernate似乎也是.NET上使用最多的ORM,因此从某种意义上说,这是一个“安全”的选择。 到目前为止,它已经能够映射我能想到的大部分内容。

无论如何,由于自定义的限制,我对Lightspeed的了解并不多。 如果我正在开始一个新的项目,该项目可能符合他们的约定,那么情况可能会不同。 该公司反应迅速,我真的很想使用他们的产品之一:)。

我最近比较了大量的ORM,包括NH和Lightspeed。 我专业地使用NH,所以我有点偏见,文章在这里

我已经使用Lightspeed几个月了,但是我是.NET中的新手,因此从未使用过NHibernate。 到目前为止,我发现使用学习曲线很小就很容易使用,并且它会不断更新。 对我来说,最大的好处就是支持。查询通常会在很短的时间内得到回答,发现的错误通常在第二天就得到修复,并且可以在每晚的版本中找到。 不确定“ Lightspeed的性能如何”是什么意思? 这个家伙似乎很高兴{:o) http://omarbesiso.spaces.live.com/blog/cns!70A5B53D721071B7!473.entry

去年,我在新西兰奥克兰的TechEd上与该产品的一位主要开发人员(Jeremy Boyd)聊天,并提出了这个问题。 他似乎认为它比NHibernate快几个数量级。 当然,这是他的产品,所以他会这么说,但我认为值得一提。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM