Skip to content

Commit b762ed9

Browse files
Merge pull request #490 from sqlkata/feature/increment-update
add increment execution
2 parents f77efa0 + a79c21f commit b762ed9

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

SqlKata.Execution/Query.Extensions.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)