En mi aplicación repositorio que se puede ejecutar la siguiente consulta utilizando una expresión lambda:Cómo consultar una lista anidada utilizando una expresión lambda
public IList<User> GetUsersFromCountry(string)
{
return _UserRepository.Where(x => x.Country == "Sweden").ToList();
}
Hasta ahora tan bueno, sencillo. Sin embargo, tengo dificultades para escribir una expresión lambda en una lista anidada anidada. Teniendo en cuenta el ejemplo siguiente (lo siento no podía pensar en una mejor uno):
La siguiente consulta funciona absolutamente bien y devuelve todos los clubes, que tienen los miembros mayores de 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;
}
Por el momento, aquí es donde termina mi conocimiento de la expresión lambda.
¿Cómo podría escribir la consulta anterior contra el ClubRepository, utilizando una expresión lambda, similar al ejemplo anterior?
Nice! Funciona perfectamente. – Flo
FWIW, este enfoque funciona, pero realmente no domina cómo traducir las declaraciones múltiples 'de' en los métodos LINQ. Necesitas el método SelectMany para eso (eso es lo que hace el compilador C#). –