Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle.DataAccess.Client.OracleCommand ExecuteReaderAsync

Il client Oracle non sovrascrive le versioni asincrone dei metodi. Usano il DbCommand predefinito implementazioni che chiamano le versioni non asincrone dei metodi.

Ad esempio, l'implementazione di ExecuteNonQueryAsync è:

// System.Data.Common.DbCommand
public virtual Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken)
{
    if (cancellationToken.IsCancellationRequested)
    {
        return ADP.CreatedTaskWithCancellation<int>();
    }
    CancellationTokenRegistration cancellationTokenRegistration = default(CancellationTokenRegistration);
    if (cancellationToken.CanBeCanceled)
    {
        cancellationTokenRegistration = cancellationToken.Register(new Action(this.CancelIgnoreFailure));
    }
    Task<int> result;
    try
    {
        result = Task.FromResult<int>(this.ExecuteNonQuery());
    }
    catch (Exception ex)
    {
        cancellationTokenRegistration.Dispose();
        result = ADP.CreatedTaskWithException<int>(ex);
    }
    return result;
}

Come puoi vedere, chiama semplicemente ExecuteNonQuery sotto il cofano (l'overload senza parametri di ExecuteNonQueryAsync chiama questa versione del metodo).