LINQ REJOINDRE GROUPE UN + PAR + SOMME
J'ai deux LINQ déclarations que j'aimerais en faire un, mais pour la vie de moi je ne peux pas le faire fonctionner.
Je ne peux pas obtenir le regroupement de travailler dans la première instruction.
Il se plaint de ce que la TotalBuy
et TotalSell
propriétés ne sont pas là, bien que ne se plaignent pas AmountTC
et AmountAUD
.
Cela devrait être simple. Toutes les pensées?
var itineraryItems =
from ii in this.ItineraryItemRecords
join t in this.TransactionRecords on ii.OperatorID equals t.
TransactionActor.OperatorID into g select new {
OperatorID = ii.OperatorID, TotalBuy = g.Sum(i = >ii.TotalBuy)
, TotalSell = g.Sum(i = >ii.TotalSell)
, PaidTC = (0 - (g.Sum(t = >t.AmountTC)))
, PaidAUD = (0 - (g.Sum(t = >t.AmountAUD)))
};
var itineraryItemz =
from i in itineraryItems group i by i.OperatorID into g select new {
OperatorID = g.Key, TotalBuy = g.Sum(i = >i.TotalBuy)
, TotalSell = g.Sum(i = >i.TotalSell)
, PaidTC = (0 - (g.Sum(i = >i.PaidTC)))
, PaidAUD = (0 - (g.Sum(i = >i.PaidAUD)))
};
Comme une note de côté, ItineraryItemRecords
et TransactionRecords
sont des Collections de classes gérées par SubSonic
.
Ce doit être vraiment simple, de sorte que toute aide serait appréciée.
Ce qui concerne,
Jean
Je l'ai ré-étiqueté à votre question avec un c# tag de sorte qu'il peut obtenir plus d'avis que personne n'a encore répondu.
OriginalL'auteur JohnBob | 2010-02-22
Vous devez vous connecter pour publier un commentaire.
Une petite erreur, corrigée:
Je recommande contre la ré-utilisation des identificateurs aidera à éviter ces erreurs à l'avenir.
Jamais l'esprit. J'ai séparé en trois requêtes distinctes. Deux groupe par les requêtes, puis à se joindre à ces deux groupes par les requêtes.
merci pour votre aide!
OriginalL'auteur Amy B