Ho la seguente struttura di classe:dati Pivot in due Lista nidificato <T> con Linq
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; }
}
E 'possibile ruotare il List<Employee>
con LINQ così ho risultato come questo nel mio DataGridView:
| Name | Name |...| Name |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
Date | Hours | Hours | | Hours |
... | Hours | Hours | | Hours |
È complicato perché si tratta di due liste annidate e ho trovato solo esempi con un singolo elenco che sono piuttosto semplici. Is it possible to Pivot data using LINQ?
ho arrivati a questo punto, ma non è ancora lontani:
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();
Gradirei qualche suggerimento.
Questo sembra geniale, grazie mille @Rahul. – mdziadowiec