我有一个数据库查询,返回扁平格式的分层数据。例如客户、订单和订单项(只是一个例子,我的数据不同)。如何将其转换为分层对象集合,即每个客户对象都有一个订单对象集合,每个订单对象都有一个订单项对象集合的客户对象集合?是循环遍历每个项目并手动构建对象层次结构,还是有更好的方法来实现这一点?我没有使用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