Jak uzyskać listę zgrupowanych wartości w linq groupby?
Linq nowicjusz tutaj, zmagający się z moją pierwszą grupą przez zapytanie.
Mam listę obiektów typu KeywordInstance, które reprezentują słowo kluczowe, oraz identyfikator rekordu bazy danych, do którego zastosowano słowo kluczowe.
Keyword RecordID
macrophages 1
macrophages 2
cell cycle 3
map kinase 2
cell cycle 1
To, co chcę mieć, to zbiór wszystkich słów kluczowych z listą rekordów rekordów, do których zastosowano każde słowo kluczowe
Keyword RecordIDs
macrophages 1, 2
cell cycle 1, 3
map kinase 2
Próbowałem użyć Linq, aby wprowadzić go do nowego obiektu. Udało mi się tylko uzyskać różne słowa kluczowe.
var keywords = allWords .GroupBy (w => w.keyword) .Wybierz (g => nowy {keyword = g.Key});
Problem polega na tym, że nie mogę w żaden sposób uzyskać wartości g. g jest typu IGrouping i dokumentacją, ma tylko właściwość Key, ale nie ma nawet właściwości Value. Wszystkie przykłady, które widziałem w Internecie dla grupy, mówią mi, żebym sam wybrał g, ale wynik
var keywords = allWords
.GroupBy(w => w.keyword)
.Select(g => new {keyword = g.Key, RecordIDs = g});
nie jest to, czego chcę.
Każda próba uzyskania czegoś z g nie powiedzie się z komunikatem o błędzieSystem.Linq.IGropuing<string, UserQuery.KeywordInstance> does not have a definition for [whatever I tried]
.
Co ja tu robię źle?