Я хочу сгруппировать по датам, используя следующий метод.Однако я не могу выбрать столбец, который содержит строку.
Пример dtTAConvert;
SAMPLE_TIME WAIT_CLASS
23:11:12 CPU
23:11:12 IO
23:11:12 IO
23:11:11 CPU
23:11:11 CPU
Что я хочу, это;
SAMPLE_TIME WAIT_CLASS COUNT
23:11:12 CPU 1
23:11:12 IO 2
23:11:11 CPU 2
Пока что я написал нижеcode;
var dtTAConvertList =
(from dr1 in dtTAConvert.AsEnumerable()
group dr1 by dr1.Field<DateTime>("SAMPLE_TIME") into g
select new
{
SAMPLE_TIME = g.Key,
WAIT_CLASS = g.Field<string>("WAIT_CLASS"), // ==> I get error in this line
COUNT = Math.Round(g.Sum(h => h.Field<double>("COUNT")) / 15.0, 2),
});
Выдает исключение
«IGrouping» не содержит определения для «Field», и для лучшей перегрузки метода расширения «DataRowExtensions.Field (DataRow, string)» требуетсяполучатель типа 'DataRow'
Если я изменяю код выше, как показано ниже, он работает;
WAIT_CLASS = g.First().Field<string>("WAIT_CLASS"),
Однако это возвращает только первый элемент, который не работает для меня.
Как выбрать строковый столбец, как я объяснил?