2010-11-17 40 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