3 votes

Quelles sont les principales différences entre Data Access Application Block, NHibernate, ADO.NET Entity Framework et LINQ to SQL ?

Quelles sont les principales différences entre Data Access Application Block, NHibernate, ADO.NET Entity Framework et LINQ to SQL en ce qui concerne les performances, la logique métier, l'évolutivité et la flexibilité ?

3voto

Michael Maddox Points 7345

Ce que vous demandez est une question assez vaste. Voici une question similaire et la réponse que j'y ai apportée peut vous permettre de faire de bonnes lectures sur les différents ORM .NET :

NHibernate, Entity Framework, active records ou linq2sql

Vous ne remarquerez pas une grande différence de performance entre les différentes options dans la grande majorité des scénarios. Toutes les options sont construites sur ADO.NET et vous permettent d'utiliser ADO.NET brut pour obtenir les meilleures performances possibles.

Toutes les solutions sont flexibles dans la mesure où vous êtes prêt à écrire votre propre code. NHibernate offre de loin le plus de fonctionnalités prêtes à l'emploi.

Il est difficile de répondre à la question de l'évolutivité. Il existe des moyens d'atteindre l'évolutivité avec toutes les options, mais certaines sont plus faciles que d'autres. Là encore, NHibernate est le plus riche en fonctionnalités du point de vue de l'évolutivité, car il offre des fonctionnalités telles qu'un cache de niveau 1 et de niveau 2.

Pour la logique d'entreprise, les trois ORM fonctionneront à peu près de la même manière, mais le bloc d'application d'accès aux données n'est pas un ORM et ne fournit aucune des fonctionnalités d'un ORM, de sorte que vous êtes complètement seul pour mapper les données de votre table relationnelle en objets provenant de lecteurs de données ou d'ensembles de données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X