Nhibernate vs Linq
LINQ
LINQ est l'abréviation de Query-Integrated Query. En gros, LINQ aborde le modèle de développement de base de données actuel dans le contexte du modèle de programmation orienté objet. Cependant, la prise en charge complète de LINQ nécessite certaines extensions du langage utilisé, car Linq n’est pas un outil de mappage relationnel-objet (ORM) complet. De telles extensions augmentent le rendement et l'efficacité, fournissant ainsi une syntaxe plus courte, plus significative et plus expressive pour manipuler les données..
LINQ est un modèle de programmation qui introduit les requêtes en tant que concept de première classe dans n’importe quel langage Microsoft NET. En d'autres termes, il est considéré comme un langage d'interrogation principalement utilisé avec MS SQL Server. Beaucoup trouvent Linq plutôt utile dans des applications plus petites où le besoin de base de données n'est pas important.
NHIBERNATE
NHibernate est une solution ORM ou de mappage objet-relationnel open source pour la plate-forme Microsoft .NET. Elle est développée de la même manière que la bibliothèque Hibernate de Java, qui fournit des services permettant de gérer les objets du framework .NET vers et depuis une base de données sous-jacente..
Il est principalement destiné aux développeurs qui se concentrent sur le domaine plutôt que sur la base de données. NHibernate peut s’appliquer à n’importe quel système de gestion de base de données (SGBD).
Désavantagé, sans intellisense, NHibernate utilise un langage d'interrogation limité. Néanmoins, il est assez flexible en ce qui concerne les types de définitions d'objet pouvant être mappés aux structures de table. NHibernate présente plus d'options car on peut modifier de nombreux aspects en termes d'accès aux données. C'est presque illimité.
Résumé:
1. Avec Linq, la base de données existe déjà et les relations et certaines programmations dépendent de la définition de la base de données..
2. Contrairement à Linq, NHibernate est une source ouverte..
3. Nhibernate est un outil ORM tandis que Linq est un outil ORM incomplet car il nécessite des extensions supplémentaires..
4. Linq est principalement un langage d'interrogation, tandis que NHibernate utilise un langage d'interrogation limité..
5. Linq est beaucoup plus utile dans les petites applications où il n'y a pas de dépendance massive aux bases de données..
6. NHibernate est très flexible et présente plus d'options.