Linq の初心者で、最初の group by query に苦労しています。
キーワードを表す KeywordInstance タイプのオブジェクトのリストと、キーワードが適用されたデータベース レコードの ID があります。
Keyword RecordID
macrophages 1
macrophages 2
cell cycle 3
map kinase 2
cell cycle 1
必要なのは、すべてのキーワードのコレクションと、各キーワードが適用された RecordID のリストです。
Keyword RecordIDs
macrophages 1, 2
cell cycle 1, 3
map kinase 2
Linq を使用して、新しいオブジェクトに取得しようとしました。明確なキーワードを取得することしかできませんでした。
var キーワード = allWords .GroupBy(w => w.keyword) .Select(g => new {keyword = g.Key});
問題は、g の値を取得できないように見えることです。g は IGrouping 型であり、ドキュメントによると、プロパティ Key のみがあり、プロパティ Value さえありません。groupby についてインターネットで見たすべての例は、 g 自体を選択するように指示しているだけですが、
var keywords = allWords
.GroupBy(w => w.keyword)
.Select(g => new {keyword = g.Key, RecordIDs = g});
私が欲しいものではありません。
g から何かを取得しようとすると、エラー メッセージ が表示されて失敗しますSystem.Linq.IGropuing<string, UserQuery.KeywordInstance> does not have a definition for [whatever I tried]
。
ここで何が間違っていますか?