Sdílet prostřednictvím


DataReaderExtensions.GetFieldValueAsync<T> Metoda

Definice

Asynchronně získá hodnotu zadaného sloupce jako požadovaný typ.

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

Parametry typu

T

Typ hodnoty, která má být vrácena.

Parametry

reader
DbDataReader

Čtečka dat, ze které chcete získat hodnotu sloupce.

name
String

Název sloupce

cancellationToken
CancellationToken

Volitelný token pro zrušení asynchronní operace.

Návraty

Task<T>

Úkol, který Result obsahuje hodnotu zadaného sloupce.

Výjimky

Připojení bylo ukončeno nebo ukončeno během načítání dat.

-nebo-

Při načítání dat se zavřela čtečka dat.

-nebo-

Nejsou připravená žádná data ke čtení (například první Read() nebyla volána nebo vrácena false).

-nebo-

Pokusili jste se přečíst dříve přečtený sloupec v sekvenčním režimu.

-nebo-

Probíhala asynchronní operace. To platí pro všechny metody Get_*_ spuštěné v sekvenčním režimu, protože je možné je volat při čtení datového proudu.

Zadaný název není platným názvem sloupce.

Hodnota vrácená databází se neshoduje nebo ji nelze přetypovat na T.

Token zrušení byl zrušen. Tato výjimka se uloží do vrácené úlohy.

Poznámky

Tato asynchronní metoda je nutná pouze k tomu, aby se zabránilo blokování volající vlákno, když je čtečka vytvořena v sekvenčním režimu.

Pokud není zadaný sekvenční režim, měly by být všechny hodnoty sloupců k dispozici v paměti při každém dokončení readAsync a volání synchronní verze metody by nemělo blokovat volající vlákno.

Výchozí implementace této asynchronní metody vyvolá její synchronní protějšek a vrátí dokončenou úlohu, potenciálně blokuje volající vlákno. Výchozí implementace také vrátí zrušenou úlohu, pokud byl předán již zrušený token zrušení.

Zprostředkovatelé dat, kteří podporují asynchronní programování , by měli přepsat výchozí inmplementaci pomocí asynchronních vstupně-výstupních operací.

Tato metoda přijímá token zrušení, který lze použít k žádosti o předčasné zrušení operace. Implementace můžou tento požadavek ignorovat.

Jiné metody a vlastnosti DbDataReader objektu by neměly být vyvolány, dokud vrácená úloha ještě není dokončena.

Platí pro