public Expression CallTable(LambdaExpression query, Expression expr, ParameterExpression ps, bool isQueriable) { var table = new CompiledTable <T>(query, expr); return(Expression.Call( Expression.Constant(table), isQueriable ? MemberHelper.MethodOf <CompiledTable <T> >(t => t.Create(null)) : MemberHelper.MethodOf <CompiledTable <T> >(t => t.Execute(null)), ps)); }
public Expression CallTable(LambdaExpression query, Expression expr, ParameterExpression ps, ParameterExpression preambles, MethodType type) { var table = new CompiledTable <T>(query, expr); return(Expression.Call( Expression.Constant(table), type == MethodType.Queryable ? MemberHelper.MethodOf <CompiledTable <T> >(t => t.Create(null !, null !)) : type == MethodType.Element ? MemberHelper.MethodOf <CompiledTable <T> >(t => t.Execute(null !, null !)) : MemberHelper.MethodOf <CompiledTable <T> >(t => t.ExecuteAsync(null !, null !)), ps, preambles)); }