【发布时间】:2015-03-30 10:58:15
【问题描述】:
我有以下类结构:
class Employee()
{
public String Name { get; set; }
public List<WorkDay> WorkDays { get; set; }
}
class WorkDay()
{
public DateTime Date { get; set; }
public Int Hours { get; set; }
}
是否可以使用 Linq 旋转 List<Employee>,所以我的 DataGridView 中有这样的结果:
| Name | Name |...| Name |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
... | Hours | Hours | | Hours |
这很棘手,因为它是两个嵌套列表,我只找到了非常简单的单个列表的示例。 Is it possible to Pivot data using LINQ?
我已经到了这一点,但还没有完全做到:
var _result = Employees.SelectMany(x => x.WorkDays)
.GroupBy(x => x.Date)
.Select(y => new
{
DATE = y.Key,
NAME = y.Select(z => z.Employee.Name).ToArray()
})
.ToList();
如果有任何建议,我将不胜感激。
【问题讨论】:
标签: c# linq pivot-table