Comment puis-je utiliser Linq ToDictionary retour d'un dictionnaire avec plusieurs valeurs dans le dictionnaire des éléments?

Je veux éléments de groupe à partir d'une requête linq sous un en-tête, de sorte que, pour chaque en-tête j'ai une liste d'objets qui correspondent à l'en-tête de titre. J'ai supposé que la solution serait d'utiliser ToDictionary pour convertir les objets, mais il ne permet qu'un seul objet par "groupe" (ou clé de dictionnaire). J'ai supposé que je pouvais créer le dictionnaire de type (String, Liste De()), mais je ne peux pas comprendre comment l'écrire.

Titre d'exemple, j'ai écrit une version simplifiée ci-dessous.

Public Class order
Public ID As Integer
Public Name As String
Public DateStamp As Date
End Class
Public Function GetOrdersSortedByDate() As Generic.Dictionary(Of String, Generic.List(Of User))
Dim orders As New List(Of order)(New order() _
{New order With _
{.ID = 1, .Name = "Marble", .DateStamp = New Date(2010, 1, 1)}, _
New order With _
{.ID = 2, .Name = "Marble", .DateStamp = New Date(2010, 5, 1)}, _
New order With _
{.ID = 3, .Name = "Glass", .DateStamp = New Date(2010, 1, 1)}, _
New order With _
{.ID = 4, .Name = "Granite", .DateStamp = New Date(2010, 1, 1)}})
' Create a Dictionary that contains Package values, 
' using TrackingNumber as the key.
Dim dict As Dictionary(Of String, List(Of order)) = _
orders.ToDictionary(Of String, List(Of order))(Function(mykey) mykey.Name, AddressOf ConvertOrderToArray) ' Error on this line
Return dict
End Function
Public Function ConvertOrderToArray(ByVal myVal As order, ByVal myList As Generic.List(Of order)) As Generic.List(Of order)
If myList Is Nothing Then myList = New Generic.List(Of order)
myList.Add(myVal)
Return myList
End Function

L'erreur est comme suit

'Public Function ConvertOrderToArray(myVal As order, myList As System.Collections.Generic.List(Of order)) As System.Collections.Generic.List(Of order)'
does not have a signature compatible with delegate 
'Delegate Function Func(Of order, System.Collections.Generic.List(Of order))(arg As order) As System.Collections.Generic.List(Of order)'.

Que dois-je faire à la sortie, une liste de chaque élément de dictionnaire?

InformationsquelleAutor digiguru | 2010-01-25