Sdílet prostřednictvím


EntityFrameworkQueryableExtensions.SingleOrDefaultAsync Metoda

Definice

Přetížení

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

Asynchronně vrátí jediný prvek sekvence nebo výchozí hodnotu, pokud je posloupnost prázdná; tato metoda vyvolá výjimku, pokud je v sekvenci více než jeden prvek.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Asynchronně vrátí jediný prvek sekvence, která splňuje zadanou podmínku nebo výchozí hodnotu, pokud žádný takový prvek neexistuje; tato metoda vyvolá výjimku, pokud více než jeden prvek splňuje podmínku.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

Asynchronně vrátí jediný prvek sekvence nebo výchozí hodnotu, pokud je posloupnost prázdná; tato metoda vyvolá výjimku, pokud je v sekvenci více než jeden prvek.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

Parametry typu

TSource

Typ elementů .source

Parametry

source
IQueryable<TSource>

An IQueryable<T> , která vrátí jeden prvek z.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Task<TSource>

Úloha, která představuje asynchronní operaci. Výsledek úkolu obsahuje jeden prvek vstupní sekvence nebo default ( TSource), pokud sekvence neobsahuje žádné prvky.

Výjimky

source je null.

source obsahuje více než jeden prvek.

Poznámky

Více aktivních operací ve stejné kontextové instanci není podporováno. Pomocí se ujistěte await , že všechny asynchronní operace byly dokončeny před voláním jiné metody v tomto kontextu. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématu Dotazování dat pomocí EF Core .

Platí pro

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Asynchronně vrátí jediný prvek sekvence, která splňuje zadanou podmínku nebo výchozí hodnotu, pokud žádný takový prvek neexistuje; tato metoda vyvolá výjimku, pokud více než jeden prvek splňuje podmínku.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

Parametry typu

TSource

Typ elementů .source

Parametry

source
IQueryable<TSource>

An IQueryable<T> , která vrátí jeden prvek z.

predicate
Expression<Func<TSource,Boolean>>

Funkce pro testování prvku pro podmínku.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Task<TSource>

Úloha, která představuje asynchronní operaci. Výsledek úkolu obsahuje jeden prvek vstupní sekvence, který splňuje podmínku v predicate, nebo default ( TSource ), pokud se žádný takový prvek nenajde.

Výjimky

source nebo predicate je null.

Více než jeden prvek splňuje podmínku v predicate.

Poznámky

Více aktivních operací ve stejné kontextové instanci není podporováno. Pomocí se ujistěte await , že všechny asynchronní operace byly dokončeny před voláním jiné metody v tomto kontextu. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématu Dotazování dat pomocí EF Core .

Platí pro