Я ищу способ отрицать выражение, используемое для фильтрации последовательностей 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)
, возможно).