public class Item { ... }
public class Order
{
public List<Item> Items
...
}
public class Customer
{
public List<Order> Orders
...
}
Now, using LINQ I need to get all items that a customer bought. How can I?
I tried something like var items = from o in cust.Orders select o.Items;
but result is IEnuberable<List<Item>>
and I wanna just one IEnumerable<Item>
.
I'm asking here to try to avoid coding 2 loops.
You need SelectMany
, which is represented in query expressions as second (and subsequent) from
clauses:
var items = from order in customer.Orders
from item in order.Items
select item;
Alternatively, to ignore query expressions:
var items = customer.Orders.SelectMany(order => order.Items);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With