【发布时间】:2011-05-18 17:27:37
【问题描述】:
我有一个数据库查询,它以平面格式返回分层数据。例如客户、订单和订单项目(只是一个例子,我的数据不同)。如何将其转换为分层对象集合,即客户对象的集合,其中每个客户对象都有一个订单对象的集合,每个订单对象都有一个订单项目对象的集合。这只是循环遍历每个项目并手动构建对象层次结构的情况,还是有更好的方法来实现这一点?我没有使用 LINQ。我从 SQL Server 数据库存储过程中获取数据。
编辑:我没有使用 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
【问题讨论】:
-
您是否在一次查询中选择此数据?一个结果集??
-
是的,我在一个查询中选择数据,我不想为每个父母单独调用数据库来获取孩子
-
那么如何区分客户、订单和订单商品?
-
@BitKFu,请查看示例数据
标签: c# sql-server linq c#-4.0