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