public static async Task <T> AggregateAsync <T>(
     this QueryFactory db,
     Query query,
     string aggregateOperation,
     params string[] columns
     )
 {
     return(await db.ExecuteScalarAsync <T>(query.AsAggregate(aggregateOperation, columns)));
 }
 public static async Task <T> CountAsync <T>(this QueryFactory db, Query query, params string[] columns)
 {
     return(await db.ExecuteScalarAsync <T>(query.AsCount(columns)));
 }
        public static async Task <T> CountAsync <T>(this Query query, params string[] columns)
        {
            QueryFactory db = QueryHelper.CreateQueryFactory(query);

            return(await db.ExecuteScalarAsync <T>(query.AsCount(columns)));
        }