QueryableExtensions.ToDictionaryAsync<TSource, TKey> 方法 (IQueryable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>, CancellationToken)

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

IQueryable<T> 创建 Dictionary<TKey, TValue>,方法是:根据指定的键选择器函数和比较器来异步枚举它。

命名空间:  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), _
    cancellationToken As CancellationToken _
) 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 cancellationToken As CancellationToken 
Dim returnValue As Task(Of Dictionary(Of TKey, TSource))

returnValue = source.ToDictionaryAsync(keySelector, _
    comparer, cancellationToken)
[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,
    CancellationToken cancellationToken
)
[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, 
    CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member ToDictionaryAsync : 
        source:IQueryable<'TSource> * 
        keySelector:Func<'TSource, 'TKey> * 
        comparer:IEqualityComparer<'TKey> * 
        cancellationToken:CancellationToken -> 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/zh-cn/library/bb384936(v=vs.113)https://msdn.microsoft.com/zh-cn/library/bb383977(v=vs.113)

备注

不支持对同一上下文实例执行多个活动操作。 使用“await”以确保在对此上下文调用另一个方法前完成了所有异步操作。

请参阅

参考

QueryableExtensions 类

ToDictionaryAsync 重载

System.Data.Entity 命名空间