Я использую следующий код, чтобы получить результат формы dataTable, но при использовании результирующего запроса в цикле foreach он выдает исключение: «Невозможно наложить объект типа« System.Int64 »на тип ' System.String '». Сообщите мне, где у меня ошибка в коде.Итерационный результат запроса Linq
var query = from detailRow in dtDetail.AsEnumerable()
group detailRow by detailRow.Field<string>("Domain") into grouping
select new
{
Domain = grouping.Key,
Impressions = grouping.Count(),
Clicks =
grouping.Sum(detailRow => int.Parse(detailRow.Field<string>("Clicks").ToString())),
url = grouping.First<DataRow>()
};
foreach (var detailRowGroup in query)
{
console.wirteline(detailRowGroup.Domain + detailRowGroup.Impressions + detailRowGroup.Clicks + detailRowGroup.url);
}
Спасибо, Стивен, в этом была проблема. Но теперь есть другая проблема, то есть значений dbnull. Хотя система пытается разобрать нулевое значение, оно вызывает исключение, не знает, как с ним справиться. –
Вы можете сделать 'detailRow.Field (« Clicks »)' (при этом с '?'). –
Steven