Bonjour

Quand on écrit une requete linq, j'aimerais savoir comment savoir si la partie méthode d'extension (par exemple un filtre where) sera exécuté coté Base de données donc en SQL, ou si le framework récuperera toutes les données pour ensuite les filtrer

Car pour l'exemple suivant (une table CLIENT liée à une table ORDER qui contient les commandes des clients) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
myDataContext.CLIENTs.Select(cc=>cc).Take(1).Single().ORDERs.Where(o => o.ORDER_MT < 233).Average(o => o.ORDER_MT);
quand je regarde dans SQL Profiler, je m'apercois que la requete est basique, et ne contient pas de clause where pour le filtre sur le champ ORDER_MT

Si par contre j'effectue la requete avec le langage d'expression au lieu des méthodes d'expression ,la requete SQL change et se produit en base avec le filtre where

Merci de m'aider, est ce que ca depend de IEnumerable et IQueryable ??