Рассмотрим следующий класс:Как добавить условие к существующему выражению лямбда?
public class Customer
{
public int Id {get; set;}
public int GroupId {get; set;}
public int Number {get; set;}
public string Name {get; set;}
}
У меня есть метод в служебный слой, который делает:
public Customer Get(Expression<Func<Customer, bool>> where)
{
return customerRepository.Get(where);
}
Вызывающий код является:
var customer = customerService.Get(x => x.Number == number);
В приведенном выше способе пользователь ищет клиента на основе свойства (исключая GroupId
, поскольку он скрыт в ViewModel). Тем не менее, пользователь всегда назначается группе, и поэтому ему разрешено искать клиентов в пределах своей группы. Таким образом, необходимо добавить динамическое добавление GroupId
.
Как добавить GroupId
в выражение where
в методе выше. GroupId
может быть или не быть уже доступным в выражении.
взгляд в [predicatebuilder] (http://www.albahari.com/nutshell/predicatebuilder.aspx) – DLeh