Je ne sais pas comment fonctionne la liaison MongoDB C#, mais décrivez comment cela fonctionne habituellement :
Lors de l'utilisation de IQueryable
une arborescence d'expressions est construite, puis traduite dans un format que la base de données peut comprendre, puis exécutée dans le serveur de base de données.
Cela a généralement une petite surcharge (construire une arborescence d'expressions et la traduire) par rapport à l'écriture directe de requêtes dans le format que la base de données comprend.
Avec IEnumerable
des délégués sont utilisés à la place des expressions. Il doit itérer sur l'ensemble de données complet, puis filtrer à l'aide de Linq-To-Objects. C'est beaucoup plus lent.