public static bool chunk <M>(this QueryBuilderProxy <M> self, int count, Func <Dictionary <string, object>[], bool> callback) where M : class, QueryBuilderProxy <M>, new()
 {
     return(self.getQuery().chunk(count, callback));
 }
 public static T aggregate <T, M>(this QueryBuilderProxy <M> self, string function, object[] columns = null) where M : class, QueryBuilderProxy <M>, new()
 {
     return(self.getQuery().aggregate <T>(function, columns));
 }
 public static T avg <T, M>(this QueryBuilderProxy <M> self, object column) where M : class, QueryBuilderProxy <M>, new()
 {
     return(self.getQuery().avg <T>(column));
 }
 public static M addWhereExistsQuery <M>(this QueryBuilderProxy <M> self, QueryBuilder query, string boolean = "and", bool not = false) where M : class, QueryBuilderProxy <M>, new()
 {
     self.getQuery().addWhereExistsQuery(query, boolean, not); return(self as M);
 }
 public static M addSelect <M>(this QueryBuilderProxy <M> self, params object[] columns) where M : class, QueryBuilderProxy <M>, new()
 {
     self.getQuery().addSelect(columns); return(self as M);
 }
 public static M addSelect <M>(this QueryBuilderProxy <M> self, Expression column) where M : class, QueryBuilderProxy <M>, new()
 {
     self.getQuery().addSelect(column); return(self as M);
 }
 public static M addNestedWhereQuery <M>(this QueryBuilderProxy <M> self, QueryBuilder query, string boolean = "and") where M : class, QueryBuilderProxy <M>, new()
 {
     self.getQuery().addNestedWhereQuery(query, boolean); return(self as M);
 }
 public static M addBinding <M>(this QueryBuilderProxy <M> self, object[] value, string type1 = "where") where M : class, QueryBuilderProxy <M>, new()
 {
     self.getQuery().addBinding(value, type1); return(self as M);
 }