Mam kolekcję obiektów o nazwie Gigs
.Wywoływanie kolekcji dla dzieci w LINQ
Każda kolekcja Gig
ma kolekcję Acts
.
Używanie Linq Chcę zapytać o moją kolekcję koncertów, aby zdobyć wszystkie miejsca, gdzie aktem ma na przykład 7 znaków.
act.id = 7;
Więc zacząłem pisanie ...
return from gig in qry
where gig.Acts //not sure how to do this bit
select gig;
Ale nie jestem pewien, jak można ustawić warunki na gromadzeniu dziecko zwanych czynów.
Wszelkie pomysły?
LINQ jest naprawdę dziwne, ponieważ istnieje kilka sposobów na napisanie tego samego zapytania. –
Tak więc pełna prośba to .... var x = gigs.Where (g => g.Acts.Select (a => a.Artist.ID) .Contains (7)); Jeśli liczba artystów jest zerowa (co jest całkowicie poprawne), otrzymuję wyjątek ... "Dzielone. Artysta Artystyczny" z "Dzielone.Do.Act" niezgodne z prawem na typie "System.Collections.Generic.List" 1 [Shared.DO.Act] Hmmm myśli? – iasksillyquestions
Po prostu go zmodyfikuj, najpierw popatrz na artystę, przed sprawdzeniem ID: var x = gigs.Where (g => g.Acts.Select (a => a.Artysta). Wybierz (b => b.ID) .Contains (7)); lub –