2010-11-17 55 views
1

简单的问题,不知道最好的答案是什么,虽然我怀疑它涉及Linq。Linq - 拼合并按父母排序

我有一个“订单”对象的列表,其中每个对象都有一个Id和一个“orderItem”对象的集合,每个对象都有一个Id。但是,orderItem对象不包含对“订单”ID的直接引用。

我需要获取列表中所有“订单”的所有“orderItem”对象的列表,首先按orderItemID排序,然后按orderID排序。

(如果我有orderItemID的orderID的引用,它会很容易,但我不这样做,而且添加一个只是为了做到这一点,会很丑并且效率低下)。

显然,我可以很容易地通过迭代获取所有orderItem对象的列表,但是然后我无法进行我需要的排序。思考?

回答

5

这是好的,易于:

var query = from order in orders 
      from item in order.OrderItems 
      orderby item.OrderItemId, order.OrderId 
      select item; 
+0

感谢。我喜欢Linq - 从来不知道你可以在查询内轻松查询! – 2010-11-17 10:26:04