Nie wiem, jak działa powiązanie MongoDB C#, ale opisz, jak to zwykle działa:
Używając IQueryable
konstruowane jest drzewo wyrażeń, następnie tłumaczone na format zrozumiały dla bazy danych, a następnie wykonywane na serwerze bazy danych.
Zwykle wiąże się to z niewielkim obciążeniem (skonstruuj drzewo wyrażeń i przetłumacz je) w porównaniu do bezpośredniego pisania zapytań w formacie zrozumiałym dla bazy danych.
Z IEnumerable
zamiast wyrażeń używane są delegacje. Musi iterować po całym zestawie danych, a następnie filtrować za pomocą Linq-To-Objects. To jest znacznie wolniejsze.