Quand on "n'aime pas" une technologie, c'est très souvent car on la connait mal.
Personnellement, j'utilise EF (et EF Core) sur des projets professionnels plus ou moins importants depuis des années maintenant et j'en tire d'inestimables bénéfices (par rapport au temps qu'il m'aurait fallu pour tout écrire de zéro).
EF est une bibliothèque mature et qui propose des fonctionnalités avancées et performantes. Par contre, je reconnais qu'elle est difficile à maîtriser. Mais au bout du compte, le jeu en vaut la chandelle. Ecrire des requêtes avec LinqToEntities est juste un bonheur de simplicité et de puissance (encore faut-il savoir écrire des requêtes optimisées. Mais ça, c'est comme le SQL).
Générer soi-même les DTO via des scripts (ou des templates T4) va vous apporter des problèmes sur des cas complexes et/ou tordus.
D'ailleurs, en ce qui concerne la génération de classes C# à partir d'une base de données, vous pouvez utiliser EF et la méthode "Code First à partir d'une base de données existante", sans pour autant utiliser EF ensuite. Vous utilisez simplement l'Entity Data Model Wizard qui va générer les classes pour vous. Plus d'infos dans cet article : https://docs.microsoft.com/en-us/ef/...sting-database. De cette façon, vous bénéficiez d'un outil puissant et éprouvé par une équipe qui a rencontré et résolu (presque ?) tous les problèmes que vous allez inévitablement rencontrer si vous développez les scripts vous-mêmes.
Partager