Linq - Как преобразовать из плоского в иерархический?

У меня есть следующий набор результатов, который был сгенерирован в результате запроса Linq. Я хотел бы преобразовать это в иерархический набор результатов. Первые два столбца будут представлять «главную» строку, столбцы 3 и 4 будут представлять дочерний список главной строки, а столбцы 5 и 6 будут представлять второй дочерний список главной строки. Столбцы, содержащие значение 1971, являются объединяющими столбцами.

Конечным результатом должен быть главный объект со списком контейнеров (столбцы G2) и списком принтеров (столбцы G3).

Как бы выглядел запрос преобразовать это в иерархическую форму?

G1_ID   G1_CellName  G2_ContainerID G2_ID   G2_SerialNumber G3_ID      G3_PrinterName
1971    Default Cell    1935           1971    1101929         1971       PBG-PrtEmulator1
1971    Default Cell    1936           1971    1101930         1971       PBG-PrtEmulator1
1971    Default Cell    2189           1971    1102183         1971       PBG-PrtEmulator1
5
задан Randy Minder 29 November 2010 в 15:50
поделиться