EntityFrameworkQueryableExtensions.SingleOrDefaultAsync メソッド

定義

オーバーロード

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

シーケンスの唯一の要素を非同期的に返します。シーケンスが空の場合は既定値を返します。シーケンス内に複数の要素がある場合、このメソッドは例外をスローします。

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

指定された条件を満たすシーケンスの唯一の要素、またはそのような要素が存在しない場合は既定値を非同期に返します。このメソッドは、複数の要素が条件を満たす場合に例外をスローします。

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

シーケンスの唯一の要素を非同期的に返します。シーケンスが空の場合は既定値を返します。シーケンス内に複数の要素がある場合、このメソッドは例外をスローします。

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)

型パラメーター

TSource

source の要素の型。

パラメーター

source
IQueryable<TSource>

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

cancellationToken
CancellationToken

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

戻り値

Task<TSource>

非同期操作を表すタスク。 タスクの結果には、入力シーケンスの単一の要素が含まれます。シーケンス default に要素が含まれない場合は ( TSource) です。

例外

sourcenull です。

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

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

注釈

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

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

適用対象

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

指定された条件を満たすシーケンスの唯一の要素、またはそのような要素が存在しない場合は既定値を非同期に返します。このメソッドは、複数の要素が条件を満たす場合に例外をスローします。

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)

型パラメーター

TSource

source の要素の型。

パラメーター

source
IQueryable<TSource>

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

predicate
Expression<Func<TSource,Boolean>>

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

cancellationToken
CancellationToken

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

戻り値

Task<TSource>

非同期操作を表すタスク。 タスクの結果には、 の条件 predicateを満たす入力シーケンスの 1 つの要素が含まれます。このような default 要素が見つからない場合は 、 ( TSource ) です。

例外

source または predicatenull です。

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

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

注釈

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

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

適用対象