sql >> Base de Datos >  >> NoSQL >> MongoDB

No puedo usar Linq con la clase anidada List<> en MongoDb C#

Siguiendo su excepción, el área del problema está dentro de donde está haciendo Where declaraciones.

Como dije en mi comentario. Intenta hacer:

var v = collection.AsQueryable<Company>().Where(cpy => cpy.Dealers.Any(dlr => dlr.Stores.Count == 1));

Actualmente estás haciendo algo como:

var dealers = collection.AsQueryable<Company>().Select(cpy => cpy.Dealers);
var dealersWithStores = dealers.Where(dealer => dealer.Stores.Count == 1);

A continuación, está comprobando si hay any distribuidores con tiendas llamando a count y verificando si es más de 0 para obtener su bool en el donde. Todo esto es lo mismo que llamar a IEnumerable.Any() . ¿A ver si esto funciona? :)