Nhibernate是企业应用程序的正确选择吗?

时间:2011-02-23 11:22:16

标签: nhibernate

大家好 我计划在Dotnet 3.5应用程序中使用Nhibernate。这个应用程序就像一个企业应用程序,它将为我公司的所有其他应用程序提供核心服务。所以我的问题是:

  1. Nhibernate是这种应用的正确选择吗?
  2. Nhibernate是否存在任何性能问题?

3 个答案:

答案 0 :(得分:4)

  1. 我知道有许多地方使用Nhibernate进行企业和关键任务应用,并且很满意。

  2. Nhibernate为数据库实体提供面向对象的抽象。如果您将它们与等效的SQL操作进行比较,则性能损失可以忽略不计。 但是,当使用更复杂的操作(主要是大型数据集)时,本机SQL可能会表现得更好。

答案 1 :(得分:4)

NHibernate适用于任何类型的数据访问应用程序。

至于性能,它对大多数应用来说都足够好。我认为它唯一不适合的是同步任务,其中可以传输大量数据。对于那种工作,任何ORM都会吮吸。

答案 2 :(得分:2)

  1. NHibernate可能是正确的选择。该库非常成熟(目前是v3),基于java Hibernate,它的存在时间更长。

  2. 这取决于。 NHibernate专为OLTP场景而设计。这意味着您加载了一小块数据,处理它并将其保存回来。关键部分是:“小块”。 如果您发现自己处于任何类似OLAP的scneario,您必须批量处理大型块,NH不是一个好选择。在这种情况下,您很可能根本不想使用任何ORM。 一如既往:正确工作的正确工具。

  3. 如果您的申请是典型的企业,那么您会对NH感到满意。该库非常灵活,有许多微调选项。还要记住,如果有的话,您仍然可以在应用程序的OLAP部分使用普通的旧ADO.NET。

    如果您遇到任何问题,NH社区非常支持加上有公司和个人提供咨询和付费支持(如果您的公司政策要求)。

    我使用NH已经3年了,我可以推荐它 - 该工具可以完成它的工作。