2008-10-28 8 views
10

public class Item { ... }IEnumerable에서 IEnumerable <T> 가져 오기 <IEnumerable <T>>

public class Order 
{ 
    public List<Item> Items 
    ... 
} 

public class Customer 
{ 
    public List<Order> Orders 
    ... 
} 

이제 LINQ를 사용하여 고객이 구입 한 모든 항목을 가져와야합니다. 내가 어떻게 할 수있는?

var items = from o in cust.Orders select o.Items;와 같은 것을 시도했지만 결과는 IEnuberable<List<Item>>이고 단지 하나의 IEnumerable<Item> 만 원합니다.

여기 2 개의 코드를 코딩하지 않으려 고합니다.

답변

20

당신은 from 조항 초 (이후)로 쿼리 식으로 표현되는, SelectMany 필요

var items = customer.Orders.SelectMany(order => order.Items); 
+2

SelectMany가 좋다! :-) –

관련 문제