Bonjour,
Je cherche a calculer un cumul dans une requête linq to sql.
Je souhaite filtrer et concerver les enregistrements pour lesquels le cumul est compris entre deux valeurs.
Le problème c'est que je dois calculer deux fois le cumul car ce dernier intervient dans deux tests: La borne supérieure et la borne inférieure.
Je ne sais pas comment optimiser ceci. Je pense que le serveur sql va calculer 2 fois la somme dans mon cas:
PS: L'exemple que j'ai écrit ci dessus est simplifié par rapport à mon problème réel. En fait, je ne contente pas de faire un simple Sum(), j'ai carément une grosse requête imbriquée. Donc voila pour résumer, comment faire pour n'écrire qu'une seule fois l'expression imbriquée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var resultat= (from o in db.Clients where o.Factures.Sum(f => f.Montant)>100 && o.Factures.Sum(f => f.Montant)<200 select o);
D'avance merci
Partager