J'ai quelques mois d'expérience de travail avec Entity Framework et écrit principalement une tonne de requêtes linq de récupération de données. Je viens d'un arrière-plan SQL lourd, et j'essaie d'optimiser une partie du SQL pour la performance et la lisibilité si j'essaye de déboguer des problèmes de performance.Entity Framework Query Optimization
Je remarque une partie de la sql généré fait des choses comme celle-ci pour une tableA avec des colonnes {col1, col2, col3}
select
Extent1.col1
from
(
select col1, col2, col3 from tableA
) AS Extent1
Ma question est, comment puis-je l'empêcher de faire ces tables dérivées inutiles , et faites simplement
select col1 from tableA
où est-il nécessaire? Je n'arrive pas à comprendre pourquoi il le fait parfois et d'autres fois il ne le fait pas ...
Je suis intéressé à entendre les pensées des autres; mais je pense que ce n'est que l'un des inconvénients de l'utilisation de EF (ainsi que d'autres ORM?). Vous perdez beaucoup de contrôle sur le code SQL généré et le code SQL généré est souvent très mauvais. – CodingGorilla
duplication possible de [Améliorer la requête générée à partir de l'infrastructure de l'entité] (http://stackoverflow.com/questions/7418675/improve-query-generated-from-entity-framework) –