Bonjour,
Je crée ce topic pour lancer un débats sur ces deux technologies d'accès aux données.
Plus que pour voir les 2 scores, c'est plutôt pour avoir une oppositions d'idées argumentée et intéressante pour ceux qui ne connaissent pas ces technos.
Personnellement j'ai travaillé sur linq to sql et légèrement testé EF et donc voici mon avis :
Avantage a Linq to SQL (LTS) :
- Capacité a générer la base de données a partir du mapping ce qui permet de tout faire dans visual studio (EF ne peut que générer le mapping a partir de la base)
- Légèreté de la configuration (EF et ses 3 fichier de mapping arrive a rendre lourd le parametrage même avec un bon GUI...)
- API plus générique permettant de créer des BBL/DAL/... generique (l'api d'EF se base trop sur les valeur string des type plutot que sur les type CLR)
- Meilleur gestion des POCO
Avantage a EF
- Meilleur gestion des relations m to m (quoi que avec linq cela ne change pas grand chose en LTS)
- Meilleur gestion des applications ntier (plus de possibilités pour attacher et détacher les objets)
- Meilleur gestion de l'héritage (LTS peut uniquement faire de l'héritage dans une seul table)
- Meilleur support par microsoft (et oué MS sais plus quoi faire LTS et EF est taillé pour l'avenir)
Voila perso je suis un peu deçu de EF v1 (surtout pour la génération de la base que nhibernate fait depuis des années ou encore le manque de généricité comparé a LTS qui le fait tres bien) donc je vote LTS mais je pense que l'avenir sera a EF ...
j'attends impatiemment la v2 car LTS est un peu léger pour les grosses appli d'entreprise (dés qu'on fait du ntier) et si ça me plait pas je me pencherai surement plsu sur nhibernate (si je l'ai pas fait avant)
A vos claviers![]()
Partager