Witam, czy ktos mogłby mi wyjaśnić jak można za pomocą zapytania LINQ przechodzić przez kilka zagnieżdżonych słowników i list? Podam może przykład, wtedy będzie wszystko jasne: mamy klasę np. miasto. Oprócz mnóstwa właściwości posada ono także Listę o nazwie dzielnice, ktora jest oczywiście listą obiektów klasy dzielnica. Klasa dzielnica również ma sporą ilość właściwości i również posiada własną Listę o nazwie ulice. Lista ta jest analogicznie listą obiektów klasy ulica, która z kolei ma swoje właściwości i swój Słownik o nazwie domy. Moglibyśmy tak zagnieżdżać przykłady jeszcze bardzo długo, ale chciałbym np zapytaniem linq wydobyć tylko te domy, których numer jest z przedziału 4-10. Czy istnieje taka możliwość zbudowania zapytania linq mając dostęp tylko do obiektu 'Miasto'? Czy muszę budować pętle foreach aby przejść kolejno przez listę 'dzielnice', wewnątrz pętla przechodząca przez ulice, i dla każdej z ulic przeglądać Dictionary domy aby uzyskać wynik? Czy może LINQ jest w stanie tu pomóc?
Bartoles
EDIT:
Dzięki za pomoc, odpowiedzi były konkretne i błyskawiczne. Wszystkie sposoby się sprawdzają doskonale (przetestowałem SelectMany() z wyrażeniami lambda jak i wieloskladnikowe 'from'. Generalnie i tak wszystko sprowadza się do przejrzenia list generycznych, więc jest to podobne do budowania pętli for czy foreach, jednak dzięki LINQ nie musimy przejrzanych wynikow zapisywac w jakichs specjalnych kontenerach lecz od razu mamy gotowy rezultat z ścisłą niejawną kontrolą typów (czyli var)
Pozdrawiam