public static T Count <T>(this Query query, params string[] columns) { var factory = QueryHelper.CreateQueryFactory(query); return(factory.ExecuteScalar <T>(query.AsCount(columns))); }
public static T Aggregate <T>(this Query query, string aggregateOperation, params string[] columns) { var factory = QueryHelper.CreateQueryFactory(query); return(factory.ExecuteScalar <T>(query.AsAggregate(aggregateOperation, columns))); }
public static async Task <int> InsertAsync(this Query query, object data) { return(await QueryHelper.CreateQueryFactory(query) .ExecuteAsync(query.AsInsert(data))); }
public static async Task <IEnumerable <T> > GetAsync <T>(this Query query) { return(await QueryHelper.CreateQueryFactory(query).GetAsync <T>(query)); }
public static async Task ChunkAsync <T>(this Query query, int chunkSize, Func <IEnumerable <T>, int, bool> func) { await QueryHelper.CreateQueryFactory(query).ChunkAsync <T>(query, chunkSize, func); }
public static async Task ChunkAsync <T>(this Query query, int chunkSize, Action <IEnumerable <T>, int> action) { await QueryHelper.CreateQueryFactory(query).ChunkAsync <T>(query, chunkSize, action); }
public static async Task <T> FirstAsync <T>(this Query query) { return(await QueryHelper.CreateQueryFactory(query).FirstAsync <T>(query)); }
public static async Task <PaginationResult <T> > PaginateAsync <T>(this Query query, int page, int perPage = 25) { var db = QueryHelper.CreateQueryFactory(query); return(await db.PaginateAsync <T>(query, page, perPage)); }
public static async Task <int> DeleteAsync(this Query query) { return(await QueryHelper.CreateQueryFactory(query) .ExecuteAsync(query.AsDelete())); }
public static async Task <int> UpdateAsync(this Query query, IReadOnlyDictionary <string, object> values) { return(await QueryHelper.CreateQueryFactory(query) .ExecuteAsync(query.AsUpdate(values))); }
public static T Max <T>(this Query query, string column) { var xQuery = QueryHelper.CastToXQuery(query, nameof(Max)); return(query.Aggregate <T>("max", column)); }
public static T Sum <T>(this Query query, string column) { var xQuery = QueryHelper.CastToXQuery(query, nameof(Sum)); return(query.Aggregate <T>("sum", column)); }
public static T Average <T>(this Query query, string column) { var xQuery = QueryHelper.CastToXQuery(query, nameof(Average)); return(query.Aggregate <T>("avg", column)); }