Я пытаюсь подвести итог столбцу DataTable в linq. Но когда программа запущена, цикл foreach не выполняется. Я уже проверял milion раз, если имена столбцов равны datatable.Запрос Linq не выполняется должным образом
resultDataTable.Columns.Add("User ID");
resultDataTable.Columns.Add("Amount");
resultDataTable.Columns.Add("Order number");
var query = from row in result.AsEnumerable()
group row by row.Field<string>("User ID") into grp
select new
{
Id = grp.Key,
Sum = grp.Sum(r => r.Field<int>("Amount")),
Sum2 = grp.Sum(r => r.Field<int>("Order number"))
};
foreach(var item in query)
{
resultDataTable.Rows.Add(item.Id, item.Sum, item.Sum2);
}
В результате DataTable с 3 колонками. Первый - это имя и фамилия, второй - номер, а третий - номер.
Любые идеи, почему это не работает?
Вы можете указать, какое значение именно 'null' в отладчике? Это значение какого-то поля? –
Вы пытались использовать ToList()? Подобно этому выберите новый {...}. ToList() –
Проведите проверку работоспособности, посмотрите, есть ли у результата 'result' какие-либо значения, и если они правильно перечислены. – MPelletier