MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Dynamic Linq Predicate genera un errore di filtro non supportato con il driver C# MongoDB

Tornerò per rivisitarlo dopo 4 anni perché mentre la mia supposizione originale funzionava, funzionava nel modo sbagliato, ovvero ritirava tutti i record da Mongo e poi li filtrava in memoria e per complicare le cose stava facendo una chiamata sincrona nel database che è sempre una cattiva idea.

La magia avviene nel metodo di estensione expand di LinqKit

Ciò appiattisce l'albero delle espressioni di invocazione in qualcosa che il driver Mongo può comprendere e quindi agire.

.Where(predicate.Expand())