Supongamos que tengo la siguiente consulta en la base de datos AdventureWorks:LINQ - Cuestión relativa a la 'Cualquier' método
var result = from customer in Customer
where customer.CustomerAddress.Any (ca => ca.Address.City == "Dallas")
select new
{
customer.Individual.Contact.FirstName,
Addresses = customer.CustomerAddress
};
Esta consulta devolverá todos los clientes que viven en Dallas. Sin embargo, no estoy seguro de por qué funciona. Sé que el método 'Cualquiera' devuelve un Booleano dependiendo de si alguna de las filas en la secuencia satisface el predicado. Pero utilizado de esta manera, parece que en realidad está devolviendo una secuencia de filas que sí satisfacen el predicado. Supongo que no estoy seguro de qué está pasando exactamente aquí.
Sin embargo, se usa de la siguiente manera, es fácil entender cómo 'Cualquier' está funcionando:
var result = Customer.Any (c => c.CustomerAddress.Any (ca => ca.Address.City == "Largo"));
Esto devuelve falso, porque no hay clientes viven en Largo.
¿Cuál es el punto que no entiendes? ¿Es el primer ejemplo que devuelve filas y el segundo booleano? – archil
@archil - Sí, exactamente. –