private static Expression <Func <T, bool> > CombineExpressionHandler <T>(List <ExpressionModel> list) { var p = new ExpressionProcessor <T>(); Expression <Func <T, bool> > exp = null; for (int i = 0; i < list.Count; i++) { if (i == 0) { exp = (Expression <Func <T, bool> >)list[i].LambdaExpression; } else { exp = p.CombineExpression(exp, (Expression <Func <T, bool> >)list[i].LambdaExpression, list[i].ExpressionType); } } return(exp); }