Details
-
New Feature
-
Resolution: Unresolved
-
Unknown
-
None
-
None
-
None
Description
Using the PredicateBuilder class as discussed here:
http://www.albahari.com/nutshell/predicatebuilder.aspx
When using the expression built by PredicateBuilder, which in this case is of type
Expression<Func<Product, bool>>
to .Find() or to AsQueryable().Where():
I get the error
System.ArgumentException: Unsupported filter: Invoke(product => (product.FriendlyName.ToUpperInvariant() == "GOLF COURSES"), \{document}).
|
at MongoDB.Driver.Linq.Translators.PredicateTranslator.Translate(Expression node)
|
at MongoDB.Driver.Linq.Translators.PredicateTranslator.TranslateAndAlso(BinaryExpression node)
|
at MongoDB.Driver.Linq.Translators.PredicateTranslator.Translate(Expression node)
|
at MongoDB.Driver.Linq.Translators.PredicateTranslator.Translate(Expression node, IBsonSerializerRegistry serializerRegistry)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.TranslateWhere(WhereExpression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.TranslateTake(TakeExpression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.TranslatePipeline(PipelineExpression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node)
|
at MongoDB.Driver.Linq.Translators.QueryableTranslator.Translate(Expression node, IBsonSerializerRegistry serializerRegistry, ExpressionTranslationOptions translationOptions)
|
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.Translate(Expression expression)
|
at MongoDB.Driver.Linq.MongoQueryProviderImpl`1.ExecuteAsync[TResult](Expression expression, CancellationToken cancellationToken)
|
at MongoDB.Driver.Linq.MongoQueryable.FirstOrDefaultAsync[TSource](IMongoQueryable`1 source, CancellationToken cancellationToken)
|
I am attempting to implement dynamic, nested OR predicates as mentioned in that article.