QueryableExtensions.SingleAsync<TSource> (Método) (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)
[Esta página es específica de la versión 6 de Entity Framework. La versión más reciente está disponible como el paquete NuGet de Entity Framework. Para más información sobre Entity Framework, consulte msdn.com/es-ES/data/ef].
Devuelve de forma asincrónica el único elemento de una secuencia que cumple una condición especificada y, si existe más de un elemento semejante, produce una excepción.
Espacio de nombres: System.Data.Entity
Ensamblado: EntityFramework (en EntityFramework.dll)
Sintaxis
'Declaración
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<ExtensionAttribute> _
Public Shared Function SingleAsync(Of TSource) ( _
source As IQueryable(Of TSource), _
predicate As Expression(Of Func(Of TSource, Boolean)), _
cancellationToken As CancellationToken _
) As Task(Of TSource)
'Uso
Dim source As IQueryable(Of TSource)
Dim predicate As Expression(Of Func(Of TSource, Boolean))
Dim cancellationToken As CancellationToken
Dim returnValue As Task(Of TSource)
returnValue = source.SingleAsync(predicate, _
cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
public static Task<TSource> SingleAsync<TSource>(
this IQueryable<TSource> source,
Expression<Func<TSource, bool>> predicate,
CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[ExtensionAttribute]
public:
generic<typename TSource>
static Task<TSource>^ SingleAsync(
IQueryable<TSource>^ source,
Expression<Func<TSource, bool>^>^ predicate,
CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
static member SingleAsync :
source:IQueryable<'TSource> *
predicate:Expression<Func<'TSource, bool>> *
cancellationToken:CancellationToken -> Task<'TSource>
JScript does not support generic types and methods.
Parámetros de tipo
- TSource
Tipo de los elementos de source.
Parámetros
- source
Tipo: System.Linq.IQueryable<TSource>
IQueryable<T> cuyo único elemento se va a devolver.
- predicate
Tipo: System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Función para probar si un elemento cumple una condición.
- cancellationToken
Tipo: System.Threading.CancellationToken
CancellationToken que se va a observar mientras se espera que se complete la tarea.
Valor devuelto
Tipo: System.Threading.Tasks.Task<TSource>
Tarea que representa la operación asincrónica.El resultado de la tarea contiene el único elemento de la secuencia de entrada que cumple la condición especificada en predicate.
Nota sobre el uso
En Visual Basic y C#, se puede llamar a este método como a un método de instancia en cualquier objeto de tipo IQueryable<TSource>. Cuando emplee la sintaxis del método de instancia para llamar a este método, omita el primer parámetro. Para obtener más información, vea https://msdn.microsoft.com/es-es/library/bb384936(v=vs.113) o https://msdn.microsoft.com/es-es/library/bb383977(v=vs.113).
Excepciones
Excepción | Condición |
---|---|
ArgumentNullException | El valor de source o predicate es null. |
InvalidOperationException | source no implementa IDbAsyncQueryProvider. |
InvalidOperationException | Ningún elemento cumple la condición de predicate. |
InvalidOperationException | Varios elementos cumplen la condición de predicate. |
Comentarios
No se admiten varias operaciones activas en la misma instancia de contexto. Use 'await' para asegurarse de que se han completado todas las operaciones asincrónicas antes de llamar a otro método en este contexto.