Ich habe bei mir eine Liste die wiederum eine Liste mit Unterobjekten enthält. Ich möchte nun daraus ein Element der Unterliste mit einer bestimmten ID selektieren. Eine klare Sache für LINQ!
Als Leitfaden habe ich auf 101 LINQ Samples mir folgendes Beispiel rausgesucht:
1: public void Linq15() { 2: List customers = GetCustomerList();
3:
4: var orders =
5: from c in customers,
6: o in c.Orders
7: where o.Total < 500.00M
8: select new {c.CustomerID, o.OrderID, o.Total}; 9:
10: ObjectDumper.Write(orders);
11: }
Das sieht ganz eifach aus, hat bei mir aber absolut nicht funktioniert. Ich konnte das schon nicht sauber eingeben, da er in Zeile 6 für c keine Intellisense-Unterstützung geboten hat. Das Ganze konnte ich dann lösen, indem ich das etwas umgestellt habe, auf das Beispiel oben übertragen sieht meine Lösung so aus:
1: public void Linq15() { 2: List customers = GetCustomerList();
3:
4: var orders =
5: from c in customers
6: from o in c.Orders
7: where o.Total < 500.00M
8: select new {c.CustomerID, o.OrderID, o.Total}; 9:
10: ObjectDumper.Write(orders);
11: }
Ich habe einfach in Zeile 6 statt des Kommas in der vorherigen Zeile nochmals ein from eingebaut. So funktioniert es bei mir nun, wie ich mir das gewünscht habe.