@@ -245,6 +245,26 @@ public static async Task<int> UpdateAsync(this Query query, object data, IDbTran
245245 return await CreateQueryFactory ( query ) . ExecuteAsync ( query . AsUpdate ( data ) , transaction , timeout , cancellationToken ) ;
246246 }
247247
248+ public static int Increment ( this Query query , string column , int value = 1 , IDbTransaction transaction = null , int ? timeout = null )
249+ {
250+ return CreateQueryFactory ( query ) . Execute ( query . AsIncrement ( column , value ) , transaction , timeout ) ;
251+ }
252+
253+ public static async Task < int > IncrementAsync ( this Query query , string column , int value = 1 , IDbTransaction transaction = null , int ? timeout = null , CancellationToken cancellationToken = default )
254+ {
255+ return await CreateQueryFactory ( query ) . ExecuteAsync ( query . AsIncrement ( column , value ) , transaction , timeout , cancellationToken ) ;
256+ }
257+
258+ public static int Decrement ( this Query query , string column , int value = 1 , IDbTransaction transaction = null , int ? timeout = null )
259+ {
260+ return CreateQueryFactory ( query ) . Execute ( query . AsDecrement ( column , value ) , transaction , timeout ) ;
261+ }
262+
263+ public static async Task < int > DecrementAsync ( this Query query , string column , int value = 1 , IDbTransaction transaction = null , int ? timeout = null , CancellationToken cancellationToken = default )
264+ {
265+ return await CreateQueryFactory ( query ) . ExecuteAsync ( query . AsDecrement ( column , value ) , transaction , timeout , cancellationToken ) ;
266+ }
267+
248268 public static int Delete ( this Query query , IDbTransaction transaction = null , int ? timeout = null )
249269 {
250270 return CreateQueryFactory ( query ) . Execute ( query . AsDelete ( ) , transaction , timeout ) ;
0 commit comments