Ist die Unpivot-Funktion (keine Pivot-Funktion) in Linq to SQL verfügbar? Wie?

Ich habe Beiträge gesehen, die Ihnen Pivot-Ergebnisse bringen, aber nicht unpivot sind. Möchten Sie wissen, ob es einen sauberen Weg gibt, dies zu erreichen? Wäre das nicht auch eine Problemumgehung?

Führen Sie dies aus, um die Pivot-Ergebnisse in Management Studio anzuzeigen

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

Die Ausgabe für die erste Select-Anweisung

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

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

Die Ausgabe für die zweite Select-Anweisung & das ist, was ich suche

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage