Я ищу способ отрицать выражение, используемое для фильтрации последовательностей IQueryable
.
Итак, у меня есть что-то вроде:
Expression<Func<T, bool>> expression = (x => true);
Теперь я хочу создать выражение, результатом которого будет (x => false)
- поэтому я в основном хочу отрицать выражение
.
Рабочий метод, который я обнаружил, работает вот так:
var negatedExpression =
Expression.Lambda<Func<T, bool>> (Expression.Not(expression.Body),
expression.Parameters[0])));
Но я почти уверен, что есть способ получше - не могли бы вы мне помочь? (что-то вроде Not (выражение)
, вероятно).