public static Task <TResult> SingleOrDefaultAsync <TSource, TResult>( this SingleQueryable <TSource> source, Expression <Func <TSource, TResult> > selector, CancellationToken token = default(CancellationToken)) { #if !NOASYNC var executor = GetProviderExecutor(source.Queryable.Provider); if (executor != null) { return(executor.SingleOrDefaultAsync(source.Queryable.Select(selector), token)); } #endif return(GetTask(() => source.Select(selector).SingleOrDefault(), token)); }
public static Task <TSource> SingleOrDefaultAsync <TSource>( this SingleQueryable <TSource> source, CancellationToken token = default(CancellationToken)) { #if !NOASYNC var executor = GetProviderExecutor(source.Queryable.Provider); if (executor != null) { return(executor.SingleOrDefaultAsync(source.Queryable, token)); } #endif return(GetTask(source.SingleOrDefault, token)); }