Поделиться через


QueryableExtensions.ToDictionaryAsync<TSource, TKey> - метод (IQueryable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Создает выражение Dictionary<TKey, TValue> из последовательности IQueryable<T> путем его асинхронного перечисления согласно заданной функции выбора ключа и средства сравнения.

Пространство имен:  System.Data.Entity
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
<ExtensionAttribute> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Shared Function ToDictionaryAsync(Of TSource, TKey) ( _
    source As IQueryable(Of TSource), _
    keySelector As Func(Of TSource, TKey), _
    comparer As IEqualityComparer(Of TKey) _
) As Task(Of Dictionary(Of TKey, TSource))
'Применение
Dim source As IQueryable(Of TSource)
Dim keySelector As Func(Of TSource, TKey)
Dim comparer As IEqualityComparer(Of TKey)
Dim returnValue As Task(Of Dictionary(Of TKey, TSource))

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

Параметры типа

  • TSource
    Тип элементов последовательности source.
  • TKey
    Тип ключа, возвращенного средством выбора keySelector.

Параметры

  • keySelector
    Тип: System.Func<TSource, TKey>
    Функция, предназначенная для извлечения ключа из каждого элемента.

Возвращаемое значение

Тип: System.Threading.Tasks.Task<Dictionary<TKey, TSource>>
Задача, представляющая асинхронную операцию.Результат задачи содержит словарь Dictionary<TKey, TValue>, который содержит выбранные ключи и значения.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IQueryable<TSource>. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе https://msdn.microsoft.com/ru-ru/library/bb384936(v=vs.113) или https://msdn.microsoft.com/ru-ru/library/bb383977(v=vs.113).

Примечания

Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту.

См. также

Справочник

QueryableExtensions Класс

ToDictionaryAsync - перегрузка

System.Data.Entity - пространство имен