private static Query Select <T>(IDataDescriptor descriptor, List <string> columnFilter, dynamic where, int page, int perPage, params Expression <Func <T, object> >[] orderBy) { QueryAndParameters qp = BuildSelectQueryAndParameters(descriptor, columnFilter, where); if (orderBy?.Length > 0) { qp.sql = Dialect.OrderBy(qp.sql, orderBy); } var pageSql = StringBuilderPool.Scoped(sb => { Dialect.Page(qp.sql, sb); }); qp.parameters.Add($"{Dialect.Parameter}Page", page); qp.parameters.Add($"{Dialect.Parameter}PerPage", perPage); return(new Query(pageSql, qp.parameters)); }
private static Query Select(IDataDescriptor descriptor, List <string> columnFilter, dynamic where) { QueryAndParameters qp = BuildSelectQueryAndParameters(descriptor, columnFilter, where); return(new Query(qp.sql, qp.parameters)); }