diff --git a/SqlKata.Execution/QueryFactory.cs b/SqlKata.Execution/QueryFactory.cs index 5ff399aa..c9f6f96c 100644 --- a/SqlKata.Execution/QueryFactory.cs +++ b/SqlKata.Execution/QueryFactory.cs @@ -607,13 +607,14 @@ public async Task ChunkAsync( } } - public IEnumerable Select(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null) + public IEnumerable Select(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CommandType? commandType = null) { return this.Connection.Query( sql, param, transaction: transaction, - commandTimeout: timeout ?? this.QueryTimeout + commandTimeout: timeout ?? this.QueryTimeout, + commandType: commandType ); } @@ -629,9 +630,9 @@ public async Task> SelectAsync(string sql, object param = null return await this.Connection.QueryAsync(commandDefinition); } - public IEnumerable Select(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null) + public IEnumerable Select(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CommandType? commandType = null) { - return this.Select(sql, param, transaction, timeout); + return this.Select(sql, param, transaction, timeout, commandType); } public async Task> SelectAsync(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CancellationToken cancellationToken = default) @@ -639,19 +640,20 @@ public async Task> SelectAsync(string sql, object param = n return await this.SelectAsync(sql, param, transaction, timeout, cancellationToken); } - public int Statement(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null) + public int Statement(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CommandType? commandType = null) { - return this.Connection.Execute(sql, param, transaction: transaction, commandTimeout: timeout ?? this.QueryTimeout); + return this.Connection.Execute(sql, param, transaction: transaction, commandTimeout: timeout ?? this.QueryTimeout, commandType); } - public async Task StatementAsync(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CancellationToken cancellationToken = default) + public async Task StatementAsync(string sql, object param = null, IDbTransaction transaction = null, int? timeout = null, CancellationToken cancellationToken = default, CommandType? commandType = null) { var commandDefinition = new CommandDefinition( commandText: sql, parameters: param, transaction: transaction, commandTimeout: timeout ?? this.QueryTimeout, - cancellationToken: cancellationToken); + cancellationToken: cancellationToken, + commandType: commandType); return await this.Connection.ExecuteAsync(commandDefinition); }