У меня есть запрос к базе данных, который возвращает иерархические данные в плоском формате. например, клиенты, заказы и элементы заказа (просто пример, мои данные отличаются). как я могу преобразовать его в иерархическую коллекцию объектов, т. е. коллекцию объектов заказчика, где каждый объект клиента имеет коллекцию объектов заказа, а каждый объект заказа имеет коллекцию объектов позиции заказа. Это просто случай прохождения каждого элемента и построения иерархии объектов вручную ИЛИ есть ли лучший способ добиться этого? Я не использую LINQ. Я получаю данные из хранимой процедуры базы данных SQL-сервера.
Изменить: я не использую LINQ для извлечения данных из базы данных, но я могу использовать его для манипулирования данными после извлечения для преобразования их в требуемый формат, если это решает проблему.
Изменить: пример данных выглядит следующим образом (получен путем объединения таблиц клиентов, заказов и элементов заказа) (извините за плохое форматирование, я не знаю, как я могу отформатировать это в редакторе)
CustId CustName OrderId OrderName OrderItemId OrderItemName
C1 Cust1 O1 Order1 OI1 OrderItem1
C1 Cust1 O1 Order1 OI2 OrderItem2
C1 Cust1 O2 Order2 OI3 OrderItem3
C1 Cust1 O2 Order2 OI4 OrderItem4
C2 Cust2 O3 Order3 OI5 OrderItem5
C2 Cust2 O3 Order3 OI6 OrderItem6
C2 Cust2 O4 Order4 OI7 OrderItem7
C2 Cust2 O4 Order4 OI8 OrderItem8