Jeg ved ikke, hvordan MongoDB C#-bindingen fungerer, men beskriv, hvordan den normalt fungerer:
Når du bruger IQueryable
et udtrykstræ er konstrueret, derefter oversat til et format, som databasen kan forstå, og derefter eksekveret i database-serveren.
Dette har typisk en lille overhead (konstruer udtrykstræ og oversæt det) sammenlignet med direkte at skrive forespørgsler i det format, databasen forstår.
Med IEnumerable
delegerede bruges i stedet for udtryk. Det skal gentages over hele datasættet og derefter filtreres ved hjælp af Linq-To-Objects. Dette er meget langsommere.