Я построил хранилище, используя лямбда-выражения для фильтрации моих коллекций сущностей.В качестве параметра метода я посылаю Expression<Func<Case, bool>> exp
.Но внутри метода я хотел бы обновить это же выражение некоторыми глобальными фильтрами.Я вижу, что сам объект выражения получил метод Update, но я не могу понять, как он реализован (и ничего не может найти при поиске в сети).
exp.Update(exp.Body, ???);
Может ли кто-нибудь привести пример??
EDIT: определение метода: http://msdn.microsoft.com/en-us/library/ee378255.aspx
EDIT2: Это мой код (где я пытаюсь использовать .And):
Expression<Func<Case, bool>> newExp = c => c.CaseStatusId != (int)CaseStatus.Finished
var binExp = Expression.And(exp.Body, newExp.Body);
ParameterExpression paramExp = Expression.Parameter(typeof(Expression<Func<Case, bool>>), "c");
return repository.Where(Expression.Lambda<Expression<Func<Case, bool>>>(binExp,
new[] { paramExp }).Compile()).ToArray();
Не удаетсясо следующим ArgumentException: параметр типа лямбда должен быть получен из System.Delegate