Compartir a través de


QueryableExtensions.ToDictionaryAsync<TSource, TKey, TElement> (Método) (IQueryable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>, 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].

Crea un Dictionary<TKey, TValue> a partir de una IQueryable<T> enumerándola de forma asincrónica de acuerdo con una función de selector de clave, un comparador y una función de selector de elemento especificados.

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

Sintaxis

'Declaración
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
<ExtensionAttribute> _
Public Shared Function ToDictionaryAsync(Of TSource, TKey, TElement) ( _
    source As IQueryable(Of TSource), _
    keySelector As Func(Of TSource, TKey), _
    elementSelector As Func(Of TSource, TElement), _
    comparer As IEqualityComparer(Of TKey), _
    cancellationToken As CancellationToken _
) As Task(Of Dictionary(Of TKey, TElement))
'Uso
Dim source As IQueryable(Of TSource)
Dim keySelector As Func(Of TSource, TKey)
Dim elementSelector As Func(Of TSource, TElement)
Dim comparer As IEqualityComparer(Of TKey)
Dim cancellationToken As CancellationToken 
Dim returnValue As Task(Of Dictionary(Of TKey, TElement))

returnValue = source.ToDictionaryAsync(keySelector, _
    elementSelector, comparer, cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<Dictionary<TKey, TElement>> ToDictionaryAsync<TSource, TKey, TElement>(
    this IQueryable<TSource> source,
    Func<TSource, TKey> keySelector,
    Func<TSource, TElement> elementSelector,
    IEqualityComparer<TKey> comparer,
    CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
[ExtensionAttribute]
public:
generic<typename TSource, typename TKey, typename TElement>
static Task<Dictionary<TKey, TElement>^>^ ToDictionaryAsync(
    IQueryable<TSource>^ source, 
    Func<TSource, TKey>^ keySelector, 
    Func<TSource, TElement>^ elementSelector, 
    IEqualityComparer<TKey>^ comparer, 
    CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member ToDictionaryAsync : 
        source:IQueryable<'TSource> * 
        keySelector:Func<'TSource, 'TKey> * 
        elementSelector:Func<'TSource, 'TElement> * 
        comparer:IEqualityComparer<'TKey> * 
        cancellationToken:CancellationToken -> Task<Dictionary<'TKey, 'TElement>> 
JScript does not support generic types and methods.

Parámetros de tipo

  • TSource
    Tipo de los elementos de source.
  • TKey
    Tipo de la clave devuelta por keySelector.
  • TElement
    Tipo del valor devuelto por elementSelector.

Parámetros

  • keySelector
    Tipo: System.Func<TSource, TKey>
    Función para extraer una clave a partir de cada elemento.
  • elementSelector
    Tipo: System.Func<TSource, TElement>
    Función de transformación para generar un valor de elemento de resultado a partir de cada elemento.

Valor devuelto

Tipo: System.Threading.Tasks.Task<Dictionary<TKey, TElement>>
Tarea que representa la operación asincrónica.El resultado de la tarea contiene un Dictionary<TKey, TValue> que contiene valores de tipo TElement seleccionados de la secuencia de entrada.

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).

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

ToDictionaryAsync (Sobrecarga)

System.Data.Entity (Espacio de nombres)