Nhibernate vs Linq
LINQ
LINQ stands for Language-Integrated Query. Basically, LINQ addresses the current database development model in the context of Object Oriented Programming Model. However, comprehensive support for LINQ needs some extensions in the language employed since Linq is not a complete Object Relational Mapping (ORM) tool. Such extensions boost output and efficiency, thus providing a shorter, more meaningful, and more expressive syntax to manipulate data.
LINQ is a programming model that introduces queries as a first-class concept into any Microsoft NET language. In other words, it is considered as a querying language primarily utilized with MS SQL Server. Many find Linq rather useful in smaller applications where the need for database is not substantial.
NHIBERNATE
NHibernate is an open source Object-relational mapping or ORM solution for the Microsoft .NET platform. It is developed similarly to Java’s Hibernate library that provides services to carry on the .NET framework objects to and from an underlying database.
It is primarily aimed at developers focusing on domain instead of database. NHibernate can be applied with just about any DataBase Management System (DBMS).
Disadvantaged, without intellisense, NHibernate has a limited querying language. Nevertheless, it is quite flexible with regards to the kinds of object definitions that can be mapped to table structures. NHibernate presents more options since one can tweak a lot of aspects in terms of data access. It is almost limitless.
Summary:
1. With Linq, database already exists and the relationships and some programming will be dependent on how the database is defined.
2. Unlike Linq, NHibernate is an open source.
3. Nhibernate is an ORM tool while Linq is an incomplete ORM tool as it needs additional extensions.
4. Linq is primarily a querying language while NHibernate has a limited querying language.
5. Linq is much more useful in small applications where there is no massive dependence on databases.
6. NHibernate is very flexible and presents more options.