EntityFrameworkQueryableExtensions.FirstOrDefaultAsync 方法

定義

多載

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

以非同步方式傳回序列的第一個專案,如果序列不包含任何專案,則傳回預設值。

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

以非同步方式傳回序列的第一個專案,如果找不到這類專案,則符合指定的條件或預設值。

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

以非同步方式傳回序列的第一個專案,如果序列不包含任何專案,則傳回預設值。

public static System.Threading.Tasks.Task<TSource> FirstOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> FirstOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
static member FirstOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function FirstOrDefaultAsync(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 工作完成時要觀察的 。

傳回

Task<TSource>

代表非同步作業的工作。 如果 source 是空的,則工作結果包含 default ( TSource ) ,否則為 中的 source 第一個專案。

例外狀況

sourcenull

備註

不支援相同內容實例上的多個作用中作業。 使用 await 以確保任何非同步作業都已完成,再在此內容上呼叫另一個方法。 如需詳細資訊和範例,請參閱 避免 DbCoNtext 執行緒問題

如需詳細資訊和範例 ,請參閱使用 EF Core 查詢資料

適用於

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

以非同步方式傳回序列的第一個專案,如果找不到這類專案,則符合指定的條件或預設值。

public static System.Threading.Tasks.Task<TSource> FirstOrDefaultAsync<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?> FirstOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
static member FirstOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function FirstOrDefaultAsync(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 工作完成時要觀察的 。

傳回

Task<TSource>

代表非同步作業的工作。 工作結果包含 default ( 如果 是空的,或是沒有專案通過 所 predicate 指定的測試,則為 ) TSourcesource ,否則會通過 所 predicate 指定的測試的第一個元素 source

例外狀況

sourcepredicatenull

備註

不支援相同內容實例上的多個作用中作業。 使用 await 以確保任何非同步作業都已完成,再在此內容上呼叫另一個方法。 如需詳細資訊和範例,請參閱 避免 DbCoNtext 執行緒問題

如需詳細資訊和範例 ,請參閱使用 EF Core 查詢資料

適用於