Linq - 按父母平展和排序

时间:2010-11-17 10:00:56

标签: .net linq

简单的问题,虽然我怀疑它涉及Linq,但不确定最佳答案是什么。

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

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

(如果我在orderItemID中引用了orderID,那将非常容易,但我不这样做,并且为了做到这一点而添加一个是丑陋且低效的。)

显然,我可以通过迭代轻松获取所有orderItem对象的列表,但是我无法进行我需要的排序。想法?

1 个答案:

答案 0 :(得分:5)

这很好,很简单:

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