/// <summary>Executes the command asynchronously</summary> /// <param name="cancellationToken">The cancellation token in scope for the operation</param> /// <returns>The result of the command</returns> public override async Task <BulkCopyResult> ExecuteAsync(CancellationToken cancellationToken) { _requestValidator.Validate(CommandRequest); if (CommandRequest.MappingType == MappingType.AutoMap || CommandRequest.MappingType == MappingType.PartialMap) { CommandRequest.ColumnMapping ??= new ColumnMapping(); _autoMapper.MapDataTableToTable(CommandRequest.DestinationTableName, CommandRequest.DataTable, CommandRequest.ColumnMapping); } return(await _databaseCommander.BulkCopyAsync(CommandRequest, cancellationToken)); }