始终返回true的替代表达式

时间:2019-01-11 09:31:31

标签: c# mongodb linq

我正在尝试构建动态Expression<Func<User, bool>>以在MongoDB LINQ Where查询过滤器中使用。

我正在使用if-else块动态构建表达式,并使用Albahari的PredicateBuilder.And()http://www.albahari.com/nutshell/predicatebuilder.aspx)组合表达式。

在这些PredicateBuilder.True<T>()块中使用AND会导致MongoDB LINQ转换程序抛出此异常:

Unsupported filter: Invoke(f => True, {document}).

我还可以使用哪种其他表达格式表达user=>true的逻辑,以便MongoDB LINQ提供程序可以接受它?

注意:我尝试使用 返回Expression.Lambda(Expression.Constant(true),Expression.Parameter(type,“ _”))); 我在另一篇SO帖子(https://stackoverflow.com/a/36773532/10811808中看到过,但我不知道如何将此ConstantExpression转换为Expression>。

0 个答案:

没有答案