public Expression<Func<TEntity, bool>> And(Expression<Func<TEntity, bool>> ex1,
Expression<Func<TEntity, bool>> ex2)
{
var parameter = Expression.Parameter(typeof(TEntity));
return Expression.Lambda<Func<TEntity, bool>>(
Expression.And(
Expression.Invoke(ex1, parameter),
Expression.Invoke(ex2, parameter)),
parameter);
}
Обратите внимание, что это не будет работать с Entity Framework, если вы не сократите вызовы.Google InvocationExpander для реализации.