Вы рядом.Проблема заключается в выборе правильной клавиши и значения
var result = listOfTuples.SelectMany(t => t.Item1.Select(g => (g, str: t.Item2)))
.GroupBy(item => item.g, item => item.str)
.ToDictionary(g => g.Key, g => g.ToList());
Ошибка здесь (y, z) => new { key = y.Item2, value = z }
- вы хотите, чтобы key
был Guid
и, следовательно, вместо Item2
он долженбыть z
, что является Guid
.Таким образом, вы можете пойти так, как я написал, или просто
(y, z) => new { key = z, value = y.Item2 }
Также .ToList()
в начале не требуется.Вы говорите, что listOfTuples
уже возвращает список