MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Impossible d'utiliser Linq avec la classe imbriquée List<> sur MongoDb C#

En passant par votre exception, la zone problématique se situe dans l'endroit où vous faites Where déclarations.

Comme je l'ai dit dans mon commentaire. Essayez de faire :

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

Vous faites actuellement quelque chose comme :

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

Vous vérifiez alors s'il y a any concessionnaires avec des magasins en appelant count et en vérifiant s'il est supérieur à 0 pour obtenir votre bool dans le où. Tout cela revient à appeler IEnumerable.Any() . Voir si cela fonctionne? :)