MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Le prédicat Dynamic Linq génère une erreur de filtre non pris en charge avec le pilote C# MongoDB

Je reviens pour revoir cela après 4 ans parce que même si ma supposition originale fonctionnait, cela fonctionnait dans le mauvais sens, c'est-à-dire qu'il retirait tous les enregistrements de Mongo, puis les filtrait en mémoire et pour aggraver les choses, il faisait un appel synchrone dans la base de données, ce qui est toujours une mauvaise idée.

La magie opère dans la méthode d'extension d'extension de LinqKit

Cela aplatit l'arbre d'expression d'invocation en quelque chose que le pilote Mongo peut comprendre et donc agir.

.Where(predicate.Expand())