Estoy usando LINQ-to-Entities y me gustaría realizar un pivote.Giro en Linq
Para exampe, tengo esta tabla:
| data1 | data2 |
+-------+-------+
| 1 | A |
| 1 | B |
| 2 | P |
| 2 | Q |
| 2 | R |
+---------------+
Y quiero a pivotar en los siguientes resultados:
| data1 | first | second | third |
+-------+-------+--------+-------+
| 1 | A | B | NULL |
| 2 | P | Q | R |
+--------------------------------+
me gustaría hacer esto en LINQ, sin necesidad de hacer procesamiento del lado del cliente.
He visto estas publicaciones de SO, pero no abordan exactamente la situación anterior (por lo que puedo decir).
Nota He intentado el siguiente, pero se queja de que no puedo usar Skip() en una colección desordenada, y no hacer ver una forma de obtener ordenada la información 'data2' contraída del grupo.
from item in MyTable
group item by item.data1 into g
select new
{
data1 = g.Key,
first = g.Skip(0).FirstOrDefault().data2,
second = g.Skip(1).FirstOrDefault().data2,
third = g.Skip(2).FirstOrDefault().data2,
};
El segundo es un duplicado más cercano de esto: [is-it-possible-to-pivot-data-using-linq] (http: // stackoverflow.com/questions/167304/is-it-possible-to-pivot-data-using-linq) – nawfal