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?

questionAnswers(1)

yourAnswerToTheQuestion