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 , который необходимо наблюдать в ожидании завершения задачи.
Возвращаемое значение
Задача, представляющая асинхронную операцию.
Результат задачи содержит один элемент входной последовательности или 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 , который необходимо наблюдать в ожидании завершения задачи.
Возвращаемое значение
Задача, представляющая асинхронную операцию.
Результат задачи содержит один элемент входной последовательности, удовлетворяющий условию в predicate
, или default
( TSource
), если такой элемент не найден.
Исключения
Параметр source
или predicate
имеет значение null
.
Условию предиката predicate
удовлетворяет более одного элемента.
Если CancellationToken отменяется.
Комментарии
Несколько активных операций в одном экземпляре контекста не поддерживаются. Используйте await
, чтобы убедиться, что все асинхронные операции завершены перед вызовом другого метода в этом контексте. Дополнительные сведения и примеры см. в статье Предотвращение проблем с потоками DbContext .
Дополнительные сведения и примеры см. в статье Запрос данных с помощью EF Core .
Применяется к
Entity Framework