EntityFrameworkQueryableExtensions.SingleAsync メソッド

定義

オーバーロード

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

シーケンスの唯一の要素を非同期的に返し、シーケンスに要素が 1 つだけ存在しない場合は例外をスローします。

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

指定した条件を満たすシーケンスの唯一の要素を非同期に返し、このような要素が複数存在する場合は例外をスローします。

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

シーケンスの唯一の要素を非同期的に返し、シーケンスに要素が 1 つだけ存在しない場合は例外をスローします。

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

型パラメーター

TSource

source の要素の型。

パラメーター

source
IQueryable<TSource>

1 つの要素を返す IQueryable<T>

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

Task<TSource>

非同期操作を表すタスク。 タスクの結果には、入力シーケンスの 1 つの要素が含まれます。

例外

sourcenull です。

source には、複数の要素が含まれています。

または

source に要素が含まれていません。

CancellationToken が取り消されている場合。

注釈

同じコンテキスト インスタンスに対する複数のアクティブな操作はサポートされていません。 このコンテキストで別のメソッドを呼び出す前に非同期操作が完了したことを確認するには、 を使用 await します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core を使用したデータのクエリ 」を参照してください。

適用対象

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

指定した条件を満たすシーケンスの唯一の要素を非同期に返し、このような要素が複数存在する場合は例外をスローします。

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

型パラメーター

TSource

source の要素の型。

パラメーター

source
IQueryable<TSource>

1 つの要素を返す IQueryable<T>

predicate
Expression<Func<TSource,Boolean>>

要素が条件を満たしているかどうかをテストする関数。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

Task<TSource>

非同期操作を表すタスク。 タスクの結果には、 の条件 predicateを満たす入力シーケンスの単一の要素が含まれます。

例外

source または predicatenull です。

predicate の条件を満たす要素はありません。

- または -

predicate の条件を満たす要素が複数あります。

- または -

source に要素が含まれていません。

CancellationToken が取り消されている場合。

注釈

同じコンテキスト インスタンスに対する複数のアクティブな操作はサポートされていません。 このコンテキストで別のメソッドを呼び出す前に非同期操作が完了したことを確認するには、 を使用 await します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core を使用したデータのクエリ 」を参照してください。

適用対象