Pregunta

Artículo de clase pública     {         ...     }

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

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

Ahora, usando LINQ necesito obtener todos los artículos que un cliente compró. ¿Cómo puedo?

Intenté algo así como var items = from o in cust.Orders selecciona o.Items; pero el resultado es IEnuberable < List < Item > > y solo quiero un IEnumerable < Item > .

Le pido aquí que intente evitar la codificación de 2 bucles.

¿Fue útil?

Solución

Necesita SelectMany , que se representa en expresiones de consulta como segundas (y posteriores) de las cláusulas :

var items = from order in customer.Orders
            from item in order.Items
            select item;

Alternativamente, para ignorar las expresiones de consulta:

var items = customer.Orders.SelectMany(order => order.Items);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top