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 查询数据 。