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 为空,TSource则任务结果包含 default ( ) ;否则为 中的source第一个元素。

例外

source 上声明的默认值为 null

注解

不支持对同一上下文实例执行多个活动操作。 使用 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>

表示异步操作的任务。 如果 source 为空或没有元素通过指定的predicate测试,则任务结果包含 default ( TSource ) ,否则为 中source通过 指定的predicate测试的第一个元素。

例外

sourcepredicatenull

注解

不支持对同一上下文实例执行多个活动操作。 使用 await 确保在此上下文上调用另一个方法之前已完成任何异步操作。 有关详细信息和示例 ,请参阅避免 DbContext 线程问题

有关详细信息和示例 ,请参阅使用 EF Core 查询数据

适用于