35 votes

ADO.NET Entity vs NHibernate

Donc, ADO.NET Entity Framework a reçu un peu de mauvaise presse (sous la forme d'entrées de blog et une pétition), mais je ne veux pas me précipiter pour un jugement. Je suis limité dans le temps d'expérimentation, mais je me demandais si quelqu'un avait déjà travaillé avec une rétroaction plus empirique.

Enfin, quelles sont les réflexions sur l’utilisation de NHibernate qui existent depuis longtemps et qui sont peut- être plus matures que ADO.NET Entity Framework.

20voto

xanadont Points 2723

Je n'ai pas essayé EF, mais j'ai essayé NHibernate. Et avec cela, je peux dire que le meilleur ORM que j'ai jamais utilisé est SubSonic . La principale caractéristique de SubSonic est la convention sur la configuration. La configuration doit être pratiquement nulle, ce qui vous permet de démarrer rapidement. Découvrez la pléthore de vidéos sur le site.


Cela a voté? Homme ... haineux.

13voto

TheSmurf Points 10872

NHibernate peut-être plus mature. Cela ne veut pas forcément dire que c'est une "meilleure" solution. Après l'avoir utilisé à mon travail pendant un certain temps, je préfère personnellement utiliser presque tout ce que NHibernate (même droite SQL, si les migrations sont à distance possible). Le nombre de messages d'erreur renvoyée par NHibernate qui ne veux pas dire quoi que ce soit (ou qui veulent dire quelque chose, mais ne devrait jamais se produire) est absolument renversant, comme le sont certains de ses comportements par défaut (tels que bouffées de chaleur de la session une fois pour chaque objet renvoyé en Trouver).

Personnellement, quand j'ai le choix, je utiliser LINQ to SQL pour la base de données de travail.

12voto

Regfor Points 4259

Si la configuration zéro est le principal avantage de SubSonic, vous pouvez consulter Fluent nHibernate ou Entity Framework Code-First

6voto

Alex Points 3871

Il a été 2 ans depuis le post original. Ce que je comprends ADO.NET Entity Framework a mûri dans avec .net 4. Quelqu'un aurait-il une quelconque des nouveaux commentaires sur ce sujet?

Voici un lien vers les améliorations ajoutées à EF depuis la première publication en 2008 http://blogs.msdn.com/b/adonet/archive/2009/05/11/update-on-the-entity-framework-in-net-4-and-visual-studio-2010.aspx

Mise à jour: j'ai trouvé ce fil de discussion sur un débordement de pile qui fait une belle job de discuter de la mise à jour EF:

Entity Framework 4 vs NHibernate

4voto

samjudson Points 27483

Microsoft ont tous admis que l'ADO.Net Entity Framework n'est pas un ORM (je ne peux pas trouver une référence actuellement). Si vous pensez que l'Entity Framework comme un moteur de requête puis apparemment c'est vraiment bien ce qu'il fait. Pour une complète solution ORM vous voudrez peut-être regarder ailleurs cependant.

Le blog suivant semble donner raison à cette différence:

http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

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