¿Está disponible la funcionalidad Unpivot (Not Pivot) en Linq to SQL? ¿Cómo?
He visto publicaciones que te traerían resultados dinámicos, pero no implacables. ¿Necesitas saber si hay alguna forma clara de lograrlo? Si no es así, ¿alguna solución alternativa haría también?
Ejecuta esto para ver los resultados de unpivot en Management Studio
CREATE TABLE [dbo].[Payment](
[PaymentId] [int] NOT NULL,
[EmployeeId] [int] NOT NULL,
[RegularHours] [decimal](18, 0) NULL,
[OvertimeHOurs] [decimal](18, 0) NULL
) ON [PRIMARY]
go
insert into payment values (1, 1, 40, 10)
insert into payment values (1, 2, 20, 0)
go
select * from payment
select * from payment unpivot ([hours] for [paytype] in ([RegularHours], [OvertimeHOurs]))a
La salida para la primera instrucción Select
PaymentId EmployeeId RegularHours OvertimeHOurs
----------- ----------- ---------------------------------------
1 1 40 10
1 2 20 0
(2 row(s) affected)
La salida para la segunda declaración Select y esto es lo que estoy buscando
PaymentId EmployeeId hours paytype
----------- ----------- -----------------------------------------------------
1 1 40 RegularHours
1 1 10 OvertimeHOurs
1 2 20 RegularHours
1 2 0 OvertimeHOurs
(4 row(s) affected)