J'essaie de convaincre mon client d'utiliser nhibernate au lieu d'Entity Framework 4. Mon client a décidé d'utiliser uniquement des bibliothèques Microsoft (y compris Unity et Enterprise library 5). Je ne suis pas d'accord avec eux (il y a tellement de meilleurs cadres de journalisation/couches de validation/ioc etc.) mais je respecte leur décision.Pourquoi devrais-je utiliser nhibernate au lieu de framework d'entité 4
J'ai joué avec EF4 pendant quelques jours et je ne l'aime pas, principalement en raison de:
Tout d'abord, tous les messages d'erreur sont horribles. Je dois passer plus de temps à googler ce que les exceptions signifient réellement que d'essayer de les réparer.
Nous utilisons des POCO et c'était un peu compliqué de les faire fonctionner correctement avec EF4.
Les fichiers de mappages utilisés par nhibernate sont beaucoup plus faciles à utiliser.
Quelqu'un d'autre a-t-il une expérience avec les deux frameworks et m'a-t-il donné plus de raisons de ne pas utiliser ef4?
Y a-t-il des outils de l'interface graphique ou addins studio visuels qui peuvent être utilisés pour générer des fichiers de mappage/modèles à partir d'une base de données (des trucs comme ça aide toujours)
Ne serait-il pas préférable de demander "Quel est le meilleur, EF4 ou nHibernate?" Ou demander une comparaison de fonctionnalités ou quelque chose? Vous partez d'un biais qui n'est généralement pas génial. – tster
sauf dans ce cas, c'est un fait assez reconnu que EF4 est toujours en train de rattraper NH. Cela dit, c'est devenu assez utilisable. –
sûr. J'ai dit ce que je préfère. Mais je veux donner à mon client des points objectifs sur la raison pour laquelle l'un ou l'autre devrait être utilisé. Pour moi, les exceptions claires sont un problème majeur, mais EF4 est peut-être bon pour des choses que je n'ai pas encore découvert. – jgauffin