A funcionalidade Unpivot (Not Pivot) está disponível no Linq para SQL? Como?

Tenho visto postagens que podem obter resultados de pivot, mas não são importantes. É necessário saber se existe uma maneira simples de alcançar isso? Se não a solução alternativa também funcionaria?

Execute isto para ver resultados não dinâmicos no Management Studio

<code>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
</code>

A saída para a primeira instrução Select

<code>PaymentId   EmployeeId  RegularHours                            OvertimeHOurs
----------- ----------- --------------------------------------- 
1           1           40                                      10
1           2           20                                      0

(2 row(s) affected)
</code>

A saída para segunda declaração Select e isso é o que eu estou procurando

<code>PaymentId   EmployeeId  hours                                   paytype
----------- ----------- ----------------------------------------------------- 
1           1           40                                      RegularHours
1           1           10                                      OvertimeHOurs
1           2           20                                      RegularHours
1           2           0                                       OvertimeHOurs

(4 row(s) affected)
</code>

questionAnswers(2)

yourAnswerToTheQuestion