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

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Crea un oggetto Dictionary<TKey, TValue> da un oggetto IQueryable<T> enumerandolo in modo asincrono in base a una funzione del selettore di chiave specificata, a un operatore di confronto e a una funzione del selettore di elemento.

Spazio dei nomi:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
<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))
'Utilizzo
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.

Parametri di tipo

  • TSource
    Tipo degli elementi di source.
  • TKey
    Tipo della chiave restituita da keySelector.
  • TElement
    Tipo del valore restituito da elementSelector.

Parametri

  • keySelector
    Tipo: System.Func<TSource, TKey>
    Funzione per estrarre una chiave da ogni elemento.
  • elementSelector
    Tipo: System.Func<TSource, TElement>
    Funzione di trasformazione per produrre un valore dell'elemento di risultato da ogni elemento.

Valore restituito

Tipo: System.Threading.Tasks.Task<Dictionary<TKey, TElement>>
Attività che rappresenta l'operazione asincrona.Il risultato dell'attività contiene un oggetto Dictionary<TKey, TValue> che contiene i valori di tipo TElement selezionati dalla sequenza di input.

Nota sull'utilizzo

In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo IQueryable<TSource>. Per chiamare il metodo usando la sintassi del metodo di istanza, omettere il primo parametro. Per altre informazioni, vedere https://msdn.microsoft.com/it-it/library/bb384936(v=vs.113) o https://msdn.microsoft.com/it-it/library/bb383977(v=vs.113).

Note

Non è consentito eseguire più operazioni attive nella stessa istanza di contesto. Utilizzare 'await' per assicurarsi che eventuali operazioni asincrone vengano completate prima di chiamare un altro metodo su questo contesto.

Vedere anche

Riferimento

QueryableExtensions Classe

Overload ToDictionaryAsync

Spazio dei nomi System.Data.Entity