Estou montando um método de pesquisa customizável via Lambda, 1 condição eu consegui fazer, mais varias condições ainda não.
Segue um modelo de código que estou usando
var source = new List<Test> { new Test { Id = 1, Name = "Item_1" }, new Test { Id = 2, Name = "Item_2" } };
var idName = "Id";
var idValue = 1;
var param = Expression.Parameter(typeof(Test));
var condition = Expression.Lambda<Func<Test, bool>>(
Expression.Equal(Expression.Property(param, idName),
Expression.Constant(idValue,typeof(int))
), param ).Compile();
var item = source.SingleOrDefault(condition);
Nesse exemplo é 1 condição de filtro, mas preciso criar vários filtros dependendo da necessidade do usuário