ich eine Linq-Abfrage wie followin haben:LINQ mehrere Gruppe und dann die erste Gruppe von Zählwertes immer
var _transactionsList = TransactionsData
.GroupBy(x => new { x.ItemID, x.Title, x.GalleryURL })
.Select(pr => new TransactionsTabResults
{
ItemID = pr.Key.ItemID,
Title = pr.Key.Title,
GalleryURL = pr.Key.GalleryURL,
ItemPrice = pr.OrderByDescending(a => a.TransactionDate).First().ItemPrice,
TotalSoldItems = pr.Count(),
TotalRevenuePerItem = pr.Sum(y => y.ItemPrice),
AveragePrice = pr.Average(y => y.ItemPrice),
}).ToList();
Ich versuche, die insgesamt verkauften Artikel Wert zu holen, indem sie durch wie diese Gruppierung:
ItemID Sales ItemName
1 1 Item1
1 3 Item1
1 5 Item1
1 6 Item1
2 2 Item2
2 2 Item2
2 2 Item2
2 2 Item2
würde die gewünschte Ausgabe sein:
ItemID Sales ItemName
1 15 Item1
2 8 Item2
Die Abfrage oben, dass ich gibt mir für einen Gesamtumsatz falsche Werte geschrieben mit den Worten:
TotalSoldItems = pr.Count(),
Wie kann ich zählen, oder alle Verkäufe von einem Artikel zusammenzufassen, die eindeutige ID hat (das ist, was ich durch die Gruppierung) ...
Was mache ich falsch? ?