2015-11-05 74 views
1

我有一個面試的問題,並不能完成它&想知道正確的答案。如何返回所有訂單的所有訂單項目?

public interface ICustomer 
{ 
    string Name { get; } 
    IEnumerable<IOrder> Orders { get; } 
} 

public interface IOrder 
{ 
    IEnumerable<IOrderItem> OrderItems { get; } 
} 

public interface IOrderItem 
{ 
    IEnumerable<IProduct> Products { get; } 
} 

public interface IProduct 
{ 
    string Name { get; } 
} 

public class CustomersController : ApiController 
{ 
    public IEnumerable<IOrderItem> List(ICustomer customer) 
    { 
     // Return All OrderItems for all orders 
    } 
} 
+0

[的SelectMany](https://msdn.microsoft.com/en-us/library/system.linq.enumerable.selectmany.aspx ) – stuartd

回答

5

可以變平可枚舉與SelectMany

return customer.Orders.SelectMany(o => o.OrderItems);