private QueryTask ExecuteQuery(SQLQuery query, DbConnection connection, DbTransaction transaction) { query.PreQueryProcess(query); var command = CreateCommand(query, connection, transaction); DumpSqlAndParamsToLog(query); if (query.SQLQueryType == SQLQueryType.NonQuery) { var task = command.ExecuteNonQueryAsync(); query.Executed = true; return(new QueryTask(query, task)); } else if (query.SQLQueryType == SQLQueryType.DataReader) { var task = command.ExecuteReaderAsync(); query.Executed = true; return(new QueryTask(query, task)); } else { var task = command.ExecuteScalarAsync(); query.Executed = true; return(new QueryTask(query, task)); } }