Condividi tramite


DataReaderExtensions.IsDBNullAsync Metodo

Definizione

Ottiene un valore in modo asincrono, che indica se la colonna contiene valori non esistenti o mancanti.

public static System.Threading.Tasks.Task<bool> IsDBNullAsync (this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member IsDBNullAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
<Extension()>
Public Function IsDBNullAsync (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

Parametri

reader
DbDataReader

Lettore dati da cui ottenere il valore della colonna.

name
String

Nome della colonna.

cancellationToken
CancellationToken

Token facoltativo per annullare l'operazione asincrona.

Restituisce

Task<TResult> la cui proprietà Result è true se il valore della colonna specificata è equivalente a DBNull o false in caso contrario.

Eccezioni

La connessione è stata eliminata o chiusa durante il recupero dei dati.

-oppure-

Il lettore dati viene chiuso durante il recupero dei dati.

-oppure-

Non sono disponibili dati pronti per essere letti (ad esempio, il primo Read() non è stato chiamato, o è stato restituito false).

-oppure-

Tentativo di leggere una colonna letta in precedenza in modalità sequenziale.

-oppure-

Operazione asincrona in corso. Si applica a tutti i metodi Get* durante l'esecuzione in modalità sequenziale, in quanto possono essere chiamati durante la lettura di un flusso.

Il nome specificato non è un nome di colonna valido.

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Questo metodo asincrono è necessario solo per evitare di bloccare il thread chiamante quando viene creato il lettore in modalità sequenziale.

Se la modalità sequenziale non è specificata, tutti i valori di colonna devono diventare disponibili in memoria ogni volta che ReadAsync viene completato e la chiamata alla versione sincrona del metodo non deve bloccare il thread chiamante.

L'implementazione predefinita di questo metodo asincrono richiama la controparte sincrona e restituisce un'attività completata, potenzialmente bloccando il thread chiamante. L'implementazione predefinita restituisce anche un'attività annullata se è stato passato un token di annullamento già annullato.

I provider di dati che supportano la programmazione asincrona devono eseguire l'override dell'inmplementazione predefinita usando operazioni di I/O asincrone.

Questo metodo accetta un token di annullamento che può essere utilizzato per richiedere che l'operazione venga annullata in anticipo. Le implementazioni possono ignorare la richiesta.

Non si devono richiamare altri metodi e proprietà dell'oggetto DbDataReader mentre l'attività restituita non è ancora completata.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da IsDBNull(DbDataReader, String).

Si applica a