如何退回所有订单的所有订单商品?

时间:2015-11-05 00:39:16

标签: c# linq

我有一个面试问题但无法完成它&我想知道正确的答案。

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
    }
}

1 个答案:

答案 0 :(得分:5)

您可以使用SelectMany

来展平可枚举项
return customer.Orders.SelectMany(o => o.OrderItems);