У меня есть таблица NCR, содержащая данные формата:
ID | Date | Item | Type | Qty
1 | 01/01/13 | Apple | A | 1
2 | 01/01/13 | Apple | B | 1
3 | 01/01/13 | Orange | C | 1
4 | 01/01/13 | Orange | A | 2
6 | 01/01/13 | Orange | C | 1
Я хотел бы создать запрос linq, который дает мне краткое описание типов и сумм для заданной даты:
Item | A | B | C
Apple | 1 | 1 | 0
Orange | 2 | 0 | 2
Пока у меня есть это:
var q = data.GroupBy(l => l.Item)
.Select(g => new {
Item = g.Key,
Total = g.Sum(c => c.Qty),
A = g.Sum(c => c.Type == "A"),
B = g.Sum(c => c.Type == "B"),
C = g.Sum(c => c.Type == "C")
});
Однако я не могу представить критерии для выражения g.Sum lambda. Если я использую Count (это неверные данные), я могу дать критерий, но почему Sum не хватает этого? Какова моя альтернатива созданию сводной таблицы доступных данных?