ich nicht denken gibt es einen Transformator gebaut, die dies tun können (Sie Ihre eigenen schreiben könnte), aber es könnte einfach genug sein, dass ein bisschen LINQ nach dem Abrufen der Abfrageergebnisse gut genug ist.
Es hängt davon ab, wie Ihr Wörterbuch aussehen soll, aber hier ist ein Beispiel, das Ihnen helfen könnte. Angenommen, Sie möchten ein Wörterbuch mit dem Schlüssel true
oder false
, der Moderatoren und Nicht-Moderatoren darstellt, und der Wert ist List<string>
mit den Namen der Moderatoren. In diesem Fall könnten Sie schreiben:
IDictionary<bool, List<string>> moderatorDictionary = session.QueryOver<Customer>()
.Select(
x => x.Name,
x => x.Moderator
)
.List<object[]>()
.GroupBy(x => (bool)x[1], x => (string)x[0])
.ToDictionary(grp => grp.Key, grp => grp.ToList());
Mit List<object[]>
in der Regel nicht groß für Wartbarkeit, aber für zwei Objekte wie dies es ist wahrscheinlich in Ordnung. Wenn Sie mit mehr Eigenschaften arbeiten, erstellen Sie am besten eine Klasse und verwenden Sie AliasToBean
, um jede Zeile in eine Instanz dieser Klasse umzuwandeln.
Welches ist der Schlüssel im Wörterbuch? 'Name' oder' Moderator'? –