These are both referred to as ORM tools but actually, it is only Nhibernate that is considered to be an actual ORM tool. The Linq is better known as an incomplete ORM tool. LINQ that stands for Language-Integrated Query is also known as a programming language. This is more often used for small applications as compared to big ones. Nhibernate is used more for the domain as compared to the database.
This means that it can be placed in a Database Management System easily. More options are available when people use Nhibernate as compared to Linq. Linq is not an open-source while Nhibernate is known as an open-source.
Both nhibernate and LINQ are ORM or object-relational mapping for the platform of Microsoft. However, LINQ is not a complete tool of the ORM. To use the framework objects within a database, nhibernate provides services similar to Java in doing so. If you need to use nhibernate, then feel free because it can be used with any DBMS or database management system.
However, nhibernate is limited. LINQ is similar to nhibernate. It stands for the language-integrated query. Linq is not an open-source like nhibernate is. Linq is a query language, but nhibernate is limited in that aspect. Linq is less flexible than nhibernate and has fewer options. Nhibernate is less useful when using them in small applications.