Linq to List: есть ли способ включить все столбцы после применения groupby в список

У меня есть список, который получает свои значения из базы данных, а затем это преобразуется в datatable, но перед этим я хочу применить groupby в списке и получить все столбцы вместо просто ключа и значения. После того, как новый список создается с помощью groupby datatable не показывает все столбцы вместо этого он имеет только два столбца, который говорит емкость и количество.

var groupedResults = Results.GroupBy(x => x.PROJECT_ID)
                            .Select(y => y.ToList())
                            .ToList();

Результаты-это список, который содержит около 14 столбцов или ключей в этом случае со всеми связанными с проектом свойствами project name, id и т.д. Когда я использую результаты и преобразую их в datatable, у меня нет никаких проблем, но когда я использую список groupedResults, как показано выше, и преобразую его в datatable, у него нет всех 14 столбцов, и исключение возникает как столбец не найден. Есть ли способ выбрать все ключи, как в исходном списке.

Введите описание изображения здесь

Спасибо!

2 ответа

  1. Попробуйте что-то вроде этого

    var e = Results.GroupBy(x => x.PROJECT_ID) .Select(y =>new { ProjectId = y.Key,
    Count=y.Count()})
    .Join(Results,x=>x.ProjectId,y=>y.PROJECT_ID,(x1,y1) => new 
    {x1.ProjectId,x1.Count,y1.Col1,y1.Col2 /* Add all columns you need */} )
                            .ToList();