LINQ Grouping Data Twice

Прошу прощения за ужасное название, я не совсем понял, как сформулировать свою проблему.

У меня есть объект, который выглядит примерно так:

CustAcct cust = new CustAcct();
cust.Name = "John Doe";
cust.Account = "ABC123";
cust.OrderTotal = 123.43
cust.OrderQty = 4;
cust.TransDate = "12/26/2010 13:00"

Пожалуйста, не тратьте слишком много времени на критику следующей части, потому что она на самом деле не касается корзины покупок / товаров для клиентов, но идея та же, я просто хотел использовать то, с чем все хорошо знакомы.

У учетной записи может быть несколько клиентов, а у клиента может быть несколько учетных записей.

Итак, у вас есть:

List<CustAcct> custList = new List<CustAcct>();
custList.Add("John Doe", "ABC123", 123.43, 4, "12/26/2010 13:00");
custList.Add("John Doe", "ABC123", 32.12, 2, "12/27/2010 10:00");
custList.Add("John Doe", "ABC321", 43.34, 1, "12/28/2010 15:00");
custList.Add("John Doe", "ABC321", 54.60, 3, "12/28/2010 16:00");
custList.Add("Jane Zoe", "ABC123", 46.45, 2, "12/28/2010 17:00");
custList.Add("Jane Zoe", "ABC123", 32.65, 1, "12/29/2010 12:00");
custList.Add("Jane Zoe", "ABC321", 67.65, 3, "12/29/2010 23:00");
custList.Add("Jane Zoe", "ABC321", 75.34, 4, "12/30/2010 08:00");

Я бы хотел получить сумму всех OrderTotal и OrderQty для каждой учетной записи и клиента, чтобы мой результат выглядел так:

Account    Customer    OrderTotal    OrderQty
 ABC123     John Doe    155.55          6
 ABC321     John Doe     97.94          4
 ABC123     Jane Zoe     79.10          3
 ABC321     Jane Zoe    142.99          7

Я просмотрел свою книгу LINQ to Objects и 101 образец LINQ и не могу понять, как это получить. Спасибо.

5
задан Stephen 21 October 2011 в 17:45
поделиться