W moim repozytorium implementacji mogę uruchomić następującą kwerendę za pomocą wyrażenia lambda:Jak kwerendy zagnieżdżone listy przy użyciu lambda wyrażenia
public IList<User> GetUsersFromCountry(string)
{
return _UserRepository.Where(x => x.Country == "Sweden").ToList();
}
tej pory tak dobrze, proste rzeczy. Mam jednak trudności z zapisaniem wyrażenia lambda na zagnieżdżonej -> zagnieżdżonej liście. Biorąc pod uwagę następujący przykład (przepraszam nie mógł wymyślić lepszego jeden):
Następująca kwerenda działa absolutnie w porządku i zwraca wszystkie kluby, które mają członków w wieku powyżej 45
public IList<Clubs> GetGoldMembers()
{
var clubs = from c in ClubRepository
from m in c.Memberships
where m.User.Age > 45
select c;
return clubs;
}
W tej chwili to tam kończy się moja wiedza o ekspresji lambda.
Jak mogę napisać powyższe zapytanie przeciwko ClubRepository, używając wyrażenia lambda, podobnego do powyższego przykładu?
miłe! Działa świetnie. – Flo
FWIW, to podejście działa, ale tak naprawdę nie jest w stanie przetłumaczyć wielu instrukcji "od" na metody LINQ. Potrzebujesz do tego metody SelectMany (to właśnie robi kompilator C#). –