Выборка из DataTable при помощи LINQ c суммированием

Есть условная таблица payment типа DataTable, допустим, в ней есть три поля:
"AccNum" (номер счета),
"Payment" (платеж),
"Comission" (комиссия).
Задача: при помощи LINQ выбрать сумму всех платежей и сумму всех комиссий по определенному номеру счета (AccNum). Пробую сделать так:

var query = from payment in payments.AsEnumerable()
                        where payment.Field<string>("AccNum") == accNum                       
                        group payment by payment.Field<string>("AccNum") into grouped
                        select new
                        {
                          AccNum = grouped.Key,                           
                          PaySum = grouped.Sum (s, s => s.Field<decimal>("Payment")),
                          ComSum = grouped.Sum (s, s => s.Field<decimal>("Comission"))
                        };

Но IDE начинает ругаться на синтаксис, не могу сообразить что я делаю не так. В общей сложности должен получиться аналог вот такого SQL запроса:

SELECT AccNum, SUM(Payment), SUM(Comission)  
from Payments
where AccNum = x 
group by AccNum

Ответы (1 шт):

Автор решения: whtrbbt

В общем вот так правильно

var query = from payment in payments.AsEnumerable()
                        where payment.Field<string>("AccNum") == accNum                       
                        group payment by payment.Field<string>("AccNum") into grouped
                        select new
                        {
                          AccNum = grouped.Key,                           
                          PaySum = grouped.Sum (s => s.Field<decimal>("Payment")),
                          ComSum = grouped.Sum (s => s.Field<decimal>("Comission"))
                        };
→ Ссылка