Frage

public class item {...}

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

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

Mit LINQ muss ich jetzt alle Artikel erhalten, die ein Kunde gekauft hat. Wie kann ich?

Ich habe so etwas ausprobiert var items = from o in cust.Orders select o.Items; Aber Ergebnis ist IEnuberable<List<Item>> Und ich will nur einen IEnumerable<Item>.

Ich bitte hier, zu versuchen, 2 Loops zu kodieren.

War es hilfreich?

Lösung

Du brauchst SelectMany, die in Abfrageausdrücken als zweiter (und nachfolgend) dargestellt wird from Klauseln:

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

Alternativ, um Abfrageausdrücke zu ignorieren:

var items = customer.Orders.SelectMany(order => order.Items);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top