Avoir un peu de mal à construire une instruction linq (C#, syntaxe de requête mais je pourrais gérer la méthode sytax). Il doit prendre en charge le groupement ainsi que l'exposition d'une propriété calculée. J'ai une poignée sur chacun individuellement mais je n'arrive pas à les faire sembler fonctionner ensemble. Toute aide serait appréciée.linq valeur calculée avec groupe par
données
GrpField Qty Price
------------- --- -----
RED 1 10
RED 2 10
RED 1 50
BLUE 2 30
BLUE 2 50
sortie doit être la somme des Prix total (Qté * Prix) pour chaque groupe
Résultat désiré
RED 80
BLUE 160
Cela me obtient le total Ligne de prix
from x in origdata
let linetotal = x.qty * x.price
select new { x.grpfield, x.qty, x.price, linetotal }
Mais je ne peux pas regrouper par le nouveau type anonyme puisque vous ne pouvez pas exécuter des agrégats comme somme sur des types anonymes. Si je cours d'abord le groupe, je ne peux pas comprendre comment travailler le linetotal dans le mélange AVANT la somme globale.
Cette déclaration n'a pas été mon opinion - ce fut le compilateur erreur (et dans la documentation MS) si vous prenez ma requête d'origine et essayez d'exécuter le groupe par le type anon. L'astuce (comme en témoignent vos réponses et d'autres) était de faire le groupe en premier. – ktharsis