MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Dynamic Linq Predicate lança erro de filtro não suportado com o driver C# MongoDB


Estou voltando para revisitar isso depois de 4 anos porque, enquanto minha suposição original funcionou, funcionou da maneira errada, ou seja, estava recuperando todos os registros do Mongo e filtrando-os na memória e, para compor as coisas, estava fazendo uma chamada síncrona no banco de dados, o que é sempre uma má ideia.

A mágica acontece no método de extensão de expansão do LinqKit

Isso nivela a árvore de expressão de invocação em algo que o motorista do Mongo pode entender e, assim, agir.
.Where(predicate.Expand())