EntityFrameworkQueryableExtensions.SingleOrDefaultAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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>
要傳回單一項目的 IQueryable<T>。
- cancellationToken
- CancellationToken
等候 CancellationToken 工作完成時要觀察的 。
傳回
代表非同步作業的工作。
工作結果包含輸入序列的單一元素,如果 default
序列不包含任何專案,則 ( TSource
) 。
例外狀況
source
為 null
。
source
包含多個元素。
備註
不支援相同內容實例上的多個作用中作業。 使用 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>
要傳回單一項目的 IQueryable<T>。
- predicate
- Expression<Func<TSource,Boolean>>
用來測試項目是否符合條件的函式。
- cancellationToken
- CancellationToken
等候 CancellationToken 工作完成時要觀察的 。
傳回
代表非同步作業的工作。
工作結果包含符合 中 predicate
條件的單一輸入序列元素,如果 default
找不到這類專案,則 ( ) TSource
。
例外狀況
source
或 predicate
為 null
。
超過一個項目符合 predicate
中的條件。
備註
不支援相同內容實例上的多個作用中作業。 使用 await
以確保任何非同步作業都已完成,再在此內容上呼叫另一個方法。 如需詳細資訊和範例,請參閱 避免 DbCoNtext 執行緒問題 。
如需詳細資訊和範例 ,請參閱使用 EF Core 查詢資料 。