Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Nhibernate is right choice for Enterprise Applications?

Tags:

nhibernate

Hello All I am planing to use Nhibernate in Dotnet 3.5 application.This application is like an enterprise application which will provide core services to all other application of my company. So my question is:

  1. Is Nhibernate is right choice with this kind of application?
  2. Are there any performance issues with Nhibernate?
like image 480
Pankaj Avatar asked Feb 23 '11 11:02

Pankaj


3 Answers

NHibernate is good for any kind of data access applications.

As for performance its good enough for most of the apps. The only thing where I think it won't fit is synchronization tasks where really tons of data could be transferred. For that kind of work any ORM would suck.

like image 154
Sly Avatar answered Sep 28 '22 05:09

Sly


  1. I know of many places that use Nhibernate for Enterprise and mission critical application and are satisfied.

  2. Nhibernate supplies an object oriented abstraction to data base entities. if you're comparing them to equivalent SQL operations, the performance penalty is negligible. However, when using more complex operations, mainly on large sets of data, native SQL may perform significantly better.

like image 42
Ophir Yoktan Avatar answered Sep 28 '22 06:09

Ophir Yoktan


  1. NHibernate is the probably the right choice. The library is very mature (currently v3), based on java Hibernate which is there for even longer.

  2. It depends. NHibernate is designed for OLTP scenarios. That means you load some small chunk of data, process it and you save it back. Critical part is: "small chunk". If you find yourself in any OLAP-like scneario where you must batch process large chunks, NH is not a good choice. In such situation you most likely don't want to use any ORM at all. As always: Right tool for the right job.

If your application is a typical enterprise like, you will be happy with NH. The library is extremely flexible with many fine-tuning options. Also remember that you can still use plain old ADO.NET in OLAP parts of your app if there are any.

If you run into any problems, NH community is very supportive plus there are companies and individuals offering consulting and paid support (in case your company policy requires it).

I'm using NH for 3 years and I can recommend it - the tool does its job.

like image 36
Filip Zawada Avatar answered Sep 28 '22 04:09

Filip Zawada