Partager via


QueryableExtensions.ToDictionaryAsync<TSource, TKey, TElement>, méthode (IQueryable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>, CancellationToken)

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Crée un Dictionary<TKey, TValue> à partir d'un IQueryable<T> par énumération asynchrone selon une fonction de sélection de clé, un comparateur et une fonction de sélection d'élément spécifiés.

Espace de noms :  System.Data.Entity
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
<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))
'Utilisation
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.

Paramètres de type

  • TSource
    Type des éléments de source.
  • TKey
    Type de clé retournée par keySelector.
  • TElement
    Type de la valeur retournée par elementSelector.

Paramètres

  • keySelector
    Type : System.Func<TSource, TKey>
    Fonction permettant d'extraire une clé de chaque élément.
  • elementSelector
    Type : System.Func<TSource, TElement>
    Fonction de transformation permettant de produire une valeur d'élément de résultat à partir de chaque élément.

Valeur de retour

Type : System.Threading.Tasks.Task<Dictionary<TKey, TElement>>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient un Dictionary<TKey, TValue> qui contient les valeurs de type TElement sélectionnées de la séquence d'entrée.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IQueryable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez https://msdn.microsoft.com/fr-fr/library/bb384936(v=vs.113) ou https://msdn.microsoft.com/fr-fr/library/bb383977(v=vs.113).

Notes

Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour garantir que toutes les opérations asynchrones sont terminées avant d'appeler une autre méthode dans ce contexte.

Voir aussi

Référence

QueryableExtensions Classe

Surcharge ToDictionaryAsync

Espace de noms System.Data.Entity