Поделиться через


EntityFrameworkQueryableExtensions.SingleOrDefaultAsync Метод

Определение

Перегрузки

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 , который необходимо наблюдать в ожидании завершения задачи.

Возвращаемое значение

Task<TSource>

Задача, представляющая асинхронную операцию. Результат задачи содержит один элемент входной последовательности или default ( TSource), если последовательность не содержит элементов.

Исключения

source имеет значение null.

source содержит больше одного элемента.

Если CancellationToken отменяется.

Комментарии

Несколько активных операций в одном экземпляре контекста не поддерживаются. Используйте 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 , который необходимо наблюдать в ожидании завершения задачи.

Возвращаемое значение

Task<TSource>

Задача, представляющая асинхронную операцию. Результат задачи содержит один элемент входной последовательности, удовлетворяющий условию в predicate, или default ( TSource ), если такой элемент не найден.

Исключения

Параметр source или predicate имеет значение null.

Условию предиката predicate удовлетворяет более одного элемента.

Если CancellationToken отменяется.

Комментарии

Несколько активных операций в одном экземпляре контекста не поддерживаются. Используйте await , чтобы убедиться, что все асинхронные операции завершены перед вызовом другого метода в этом контексте. Дополнительные сведения и примеры см. в статье Предотвращение проблем с потоками DbContext .

Дополнительные сведения и примеры см. в статье Запрос данных с помощью EF Core .

Применяется к