Compartir a través de


QueryableExtensions.FirstOrDefaultAsync<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 primer elemento de una secuencia que cumple una condición especificada o un valor predeterminado si no se encuentra ningún elemento.

Espacio de nombres:  System.Data.Entity
Ensamblado:  EntityFramework (en EntityFramework.dll)

Sintaxis

'Declaración
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Function FirstOrDefaultAsync(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.FirstOrDefaultAsync(predicate, _
    cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<TSource> FirstOrDefaultAsync<TSource>(
    this IQueryable<TSource> source,
    Expression<Func<TSource, bool>> predicate,
    CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[ExtensionAttribute]
public:
generic<typename TSource>
static Task<TSource>^ FirstOrDefaultAsync(
    IQueryable<TSource>^ source, 
    Expression<Func<TSource, bool>^>^ predicate, 
    CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member FirstOrDefaultAsync : 
        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

Valor devuelto

Tipo: System.Threading.Tasks.Task<TSource>
Tarea que representa la operación asincrónica.El resultado de la tarea contiene default (TSource) si source está vacío o si ningún elemento supera la prueba especificada por predicate; de lo contrario, contiene el primer elemento de source que supera la prueba especificada por 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

source tiene más de un elemento.

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.

Vea también

Referencia

QueryableExtensions Clase

FirstOrDefaultAsync (Sobrecarga)

System.Data.Entity (Espacio de nombres)