我正在寻找一种方法来否定用于过滤IQueryable
序列的表达式。
所以,我有类似的东西:
Expression<Func<T, bool>> expression = (x => true);
现在我希望创建会导致屈服的表达式(x => false)
- 所以我基本上想否定expression
.
我发现自己的工作方法是这样的:
var negatedExpression =
Expression.Lambda<Func<T, bool>> (Expression.Not(expression.Body),
expression.Parameters[0])));
但我几乎可以肯定有更好的方法 - 你能帮我吗?(可能类似于Not(expression)
)。