2011-02-23 64 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年,我可以推薦它 - 該工具完成其工作。