我有一个数据表:
ID Date
-------------
1 02/01/2016
1 03/04/2015
2 08/10/2016
2 01/05/2014
2 09/03/2015
我想使用LINQ将结果分组为:
ID 2016 2015 2014
-------------------------------------
1 02/01/2016 03/04/2015
2 08/10/2016 09/03/2015 01/05/2014
答案 0 :(得分:0)
我不确定你的消息来源,但这样的事情会起作用。
public class SomeClass
{
public int ID {get; set;}
public List<DateTime> Dates {get; set;}
}
var group = source.GroupBy(x => x.ID).Select(x =>
new SomeClass
{
ID = x.Key,
Dates = x.SelectMany(z => z.Dates).ToList()
});
您可以按源中的ID进行分组,然后将该ID中的日期添加到新对象中。