Фактическое форматирование будет зависеть от вас, но, предполагая, что у вас есть коллекция этих элементов под названием list
, вы можете сделать это:
var result = from x in list
group x by new {x.dau, x.population, x.year} into p
select new
{
dau = p.Key.dau,
population = p.Key.population,
year = p.Key.year,
gmu = p.Select (x => x.gmu)
};
Возможно, вам придется перенести это вСписок памяти, чтобы сделать это, если вы на самом деле имеете дело с L2E.
РЕДАКТИРОВАТЬ: Только что попробовал с L2E, и, кажется, работает нормально, как написано.Вместо list
в вашем запросе это будет что-то вроде context.TableName
.
Вот полный код.Вывод очень неаккуратный, но уже поздно, и я не думаю, что OP так сильно беспокоился о форматировании:
var result = from x in list.Stacko1
group x by new { x.dau, x.population, x.year } into p
select new
{
dau = p.Key.dau,
population = p.Key.population,
year = p.Key.year,
gmu = p.Select(x => x.gmu)
};
result.ToList().ForEach(item=>
{
System.Console.Write("{0}\t\t", item.dau);
item.gmu.ToList().ForEach(gmuElement=>
{
System.Console.Write("{0},", gmuElement);
});
System.Console.Write("\t\t");
System.Console.Write("{0}\t\t", item.population);
System.Console.WriteLine("{0}", item.year);
});
System.Console.ReadKey();