...
Ensuite cet article a quasiment 5 ans et traite donc de la première version d'entity framework qui, comme tout le monde le sait, avait ses défauts de jeunesse. Pour moi cet article a une pertinence assez relative aujourd'hui et ne sert pas dans la majorité des cas mais seulement lorsque l'on a des modèles de base de données vraiment complexe.
Cette phrase :
ADO.Net Entity Framework peut être de 50 % à 300 % plus lent que ADO.Net utilisant les ordinaux et SqlDataReaders.
Ne veut pas dire grand chose et même si elle était vrai à l'époque (ce dont je doute) le serait bien moins aujourd'hui.
Avec l'utilisation des pocos, l'option AsNoTracking, la compilation des requêtes linq et en utilisant pas les includes sur les relations 1-n on arrive au mêmes résultats dans des performances similaires qu'un ado.net basique.
Et avec l'arrivé de nouvelles mécaniques comme le cache de 2éme niveau on peut avoir des performances supérieures sans effort.
L'autre intérêt d'entity framework c'est que vous n'êtes pas obligé de l'utiliser partout.
Vous voulez faire de l'insert de masse ? Vous pouvez faire un bulk insert.
Une requête trop complexe pour être fait en linq ? Fait une proc stock dédié qui peut même retourner vos entités.
Bref n'oubliez par une des règles fondamentales en développement : "Ne pas optimiser prématurément" et au contraire garder un code simple plus facilement optimisable et refactorable plus tard sur les vrais points de contention de performance (optimiser les 20% du code qui mange les 80% de performances).
En multipliant par 100 le nombre de lignes de code de la DAL (par rapport a EF) au delà du temps de développement, on diminue notre capacité a la modifier, optimiser et la maintenir une application ...
Partager