J'ai deux déclarations LINQ que je voudrais faire en un seul, mais pour la vie de moi je ne peux pas le faire fonctionner.LINQ JOIN + GROUP BY + SUM
Je n'arrive pas à faire fonctionner le regroupement dans la première instruction. Il se plaint que les propriétés TotalBuy
et TotalSell
ne sont pas là, bien que ne se plaignent pas de AmountTC
et AmountAUD
.
Cela devrait être simple. Des 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 les collections de classes gérées par SubSonic
.
Cela devrait vraiment être simple, donc toute aide serait appréciée.
Cordialement, John
@JohnBob - Je re-tagged votre question avec une étiquette C# pour qu'il puisse obtenir de plus amples avis que personne n'a encore répondu. – dugas