sql >> Base de Datos >  >> NoSQL >> MongoDB

El predicado dinámico de Linq arroja un error de filtro no compatible con el controlador C# MongoDB

Regresaré para revisar esto después de 4 años porque, si bien mi suposición original funcionó, funcionó de manera incorrecta, ya que estaba recuperando todos los registros de Mongo y luego filtrándolos en la memoria y, para complicar las cosas, estaba haciendo una llamada sincrónica. en la base de datos, lo que siempre es una mala idea.

La magia sucede en el método de extensión de expansión de LinqKit

Eso aplana el árbol de expresión de invocación en algo que el controlador de Mongo puede entender y, por lo tanto, actuar en consecuencia.

.Where(predicate.Expand())