sql >> Databáze >  >> NoSQL >> MongoDB

Nelze použít Linq s vnořenou třídou List<> na MongoDb C#

Pokud jde o vaši výjimku, problémová oblast je v místě, kde děláte Where prohlášení.

Jak jsem řekl ve svém komentáři. Zkuste to udělat:

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

Momentálně děláte něco jako:

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

Poté zkontrolujete, zda existují any prodejci s obchody tak, že zavolají počet a zkontrolují, zda je více než 0, abyste získali svůj bool v kde. To vše je stejné jako volání IEnumerable.Any() . Podívejte se, jestli to funguje? :)



  1. Redis - Chyba:hodnota není platná

  2. GeoLocation API Volání proti EVE RESTful API

  3. Kvůli omezení výjimky com.mongodb.BasicDBObject při přidání více kritérií dotaz GridFSDBFile

  4. Spring-data-mongodb se připojuje k více databázím v jedné instanci Mongo