Przechodząc przez wyjątek, obszar problemu znajduje się w miejscu, w którym robisz Where
oświadczenia.
Jak powiedziałem w moim komentarzu. Spróbuj zrobić:
var v = collection.AsQueryable<Company>().Where(cpy => cpy.Dealers.Any(dlr => dlr.Stores.Count == 1));
Obecnie robisz coś takiego:
var dealers = collection.AsQueryable<Company>().Select(cpy => cpy.Dealers);
var dealersWithStores = dealers.Where(dealer => dealer.Stores.Count == 1);
Następnie sprawdzasz, czy są any
dealerów ze sklepami, dzwoniąc do count i sprawdzając, czy jest to więcej niż 0, aby uzyskać bool
gdzie. Wszystko to jest takie samo jak wywołanie IEnumerable.Any()
. Zobacz, czy to działa? :)