10

你用过Telerik 的 OpenAccess ORM吗?它与 NHibernate 相比如何?我什么时候应该考虑在 NHibernate 上使用它?

4

4 回答 4

10

我自己也在想同样的事情。一方面,NH 有其免费、开源的自我,但支持选项有限。另一方面,是著名工具提供商 OA 的一个相当新的补充。

OA 需要花钱,但你会得到支持。NH 是免费的,但至少在我短暂的经验中,我们知道支持是有限的,而且进展缓慢。

我认为两者都可能是优质产品。我决定尝试 OA,因为我已经是 Telerik 工具的用户。无论如何,OA 及其支持都是有偿的。

NH 使用纯类和对象,对类属性没有任何修饰。OA 需要装饰(由 OA Visual Studio GUI 很好地生成)。

NH 需要一个“会话”来处理数据库的一个工作单元;OA 称之为“范围”。两者都使用“交易”。

OA 与 Visual Studio 集成,可以正向和反向映射到数据库。正向映射是为了让您可以设计您的类,然后将它们“推送”到数据库中以实现持久性。“反向”适用于您的“域模型”开发人员,这是我更喜欢的。

OA 肯定正在经历一些重大更新,因为 Telerik 最近收购和发布了以前由 Vanatec(德国以外)拥有的 OpenAccess,它正在“迎头赶上”。

就“易用性”和“性能/可扩展性”的观点而言,我希望我知道它们各自的立场。我敢肯定,有人可以在两者之间进行诚实的测试并做出决定。

我喜欢 NH 的一件事是可用模板生成所需的代码,不仅为“哑”业务对象(现在所有 OA 都生成),而且为 BLL 和 DLL。在与 Telerik 多次交谈后,我的印象是他们计划提供更多代码生成选项,因此 OA 开箱即用更有用。

希望这可以帮助!有人请尝试获取有关性能问题的一些统计信息。

于 2009-01-30T05:07:25.827 回答
9

我没有使用过它,但对我来说明显的一个好处是 Telerik 支持 OpenAccess,而社区支持 nHibernate。根据您的公司,如果您准备好接受没有支持保证的开源解决方案,这可能是一个决定性因素。

编辑

郑重声明,我是 nHibernate 的大力支持者,并且总体上是开源的。在过去的六个月里,我一直在使用 nHibernate,将它用于我们 Web 应用程序中的所有新工作。对于我现在的公司来说,这是一个很好的选择(初创公司喜欢免费)。

但是,我以前的雇员将很难接受社区支持的组件作为其基础架构的核心部分。这是完全合理的,因为这些公司的网站是他们唯一的收入来源。您是否想将您的整个业务都押在没有相关责任的软件上?有些人不想冒这个险。

我个人发现对 nHibernate 的支持与一些商业供应商相当,甚至更好。

我的意思不是抨击 OSS,而是强调使用具有企业支持的软件的一个好处,该软件具有配备齐全的专用支持渠道。

于 2009-01-13T21:37:16.910 回答
6

还有一个原因:目前OpenAccess具有更好的性能特性,如果您的项目需要快速的ORM,它将是一个更好的选择。有关详细信息,请参阅ORM 基准

于 2009-08-13T04:38:25.540 回答
1

我会说 nHibernate 是免费的,而 OpenAccess 是 399 美元。尽管如果您希望 nHibernate 轻松自动化,带有 nHibernate 模板的 CodeSmith 价格为 99-399 美元。看起来 OpenAccess 在数据层中具有更高的透明度,并且可能更易于维护。但是,如果你使用像 Spring.Net 这样的东西,你不仅会让 nHibernate 自动化数据,而且服务层也会自动化。尽管对此持保留态度,因为 nHibernate 和 Spring.Net 是另一批需要维护的配置文件。我敢打赌 OpenAccess 是 GUI 友好的。任何一个都可以,但是关于 nHibernate 有更多的信息。

于 2009-01-13T22:28:24.623 回答