Freigeben über


QueryableExtensions.ToDictionaryAsync<TSource, TKey, TElement>-Methode (IQueryable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>, CancellationToken)

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Erstellt ein Dictionary<TKey, TValue> aus einem IQueryable<T>, indem dieses gemäß einer angegebenen Schlüsselauswahlfunktion, einem Vergleich und einer Elementauswahlfunktion aufgelistet wird.

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
<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))
'Usage
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.

Typparameter

  • TSource
    Der Typ der Elemente von source.
  • TKey
    Der Typ des Schlüssels, der von keySelector zurückgegebenen wird.
  • TElement
    Der Typ des Werts, der von der elementSelector zurückgegeben wird.

Parameter

  • keySelector
    Typ: System.Func<TSource, TKey>
    Eine Funktion zum Extrahieren eines Schlüssels aus jedem Element.
  • elementSelector
    Typ: System.Func<TSource, TElement>
    Eine Transformationsfunktion, mit der aus jedem Element ein Ergebniselementwert erzeugt wird.

Rückgabewert

Typ: System.Threading.Tasks.Task<Dictionary<TKey, TElement>>
Eine Aufgabe, die den asynchronen Vorgang darstellt.Das Aufgabeergebnis enthält ein Dictionary<TKey, TValue>, das Werte des Typs TElement enthält, die aus der Eingabesequenz ausgewählt wurden.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IQueryable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=vs.113) oder https://msdn.microsoft.com/de-de/library/bb383977(v=vs.113).

Hinweise

Mehrere aktive Vorgänge für dieselbe Kontextinstanz werden nicht unterstützt. Verwenden Sie await, um sicherzustellen, dass sämtliche asynchronen Vorgänge abgeschlossen sind, bevor eine andere Methode in diesem Kontext aufgerufen wird.

Siehe auch

Verweis

QueryableExtensions Klasse

ToDictionaryAsync-Überladung

System.Data.Entity-Namespace