2011-02-23 29 views
5

您好所有 我打算在Dotnet 3.5应用程序中使用Nhibernate。此应用程序就像一个企业应用程序,它将为我公司的所有其他应用程序提供核心服务。所以我的问题是:Nhibernate是企业应用程序的正确选择吗?

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

回答

4

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

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

4
  1. 我知道,使用NHibernate的企业和关键任务应用和满足许多地方的。

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

2
  1. NHibernate可能是正确的选择。这个库是非常成熟的(现在是v3),基于java Hibernate,它的用处甚至更长。

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

如果你的应用程序是一个典型的企业,你会很满意NH。该库非常灵活,有许多微调选项。另外请记住,如果有的话,您仍然可以在应用程序的OLAP部分使用普通的旧ADO.NET。

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

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