Имеющий объект с этой структурой:
public class GroupedObject
{
public int id { get; set; }
public string name { get; set; }
public int value { get; set; }
public string color { get; set; }
}
Здесь он сгруппирован по одному из своих атрибутов, id
.
var myObj = someResponse
.Select(d => new GroupedObject
{
id = d.id,
name = d.name,
value = d.value,
color = d.color
})
.GroupBy(o => o.id)
.ToDictionary(a => a.Key, a => a.Select(o => o).ToList());
Структура:
id - id, name, value, color
id - id, name, value, color
id - id, name, value, color
Я хочу снова сгруппировать его по name
, чтобы получить вложенную структуру, подобную этой:
id - name - id, name, value, color
- name - id, name, value, color
id - name - id, name, value, color
- name - id, name, value, color
- name - id, name, value, color
- name - id, name, value, color
id - name - id, name, value, color
- name - id, name, value, color
- name - id, name, value, color
Попытка использовать GroupBy
дважды неРабота.Ни путем преобразования его в ToList
и группировки после этого.
var myObj = someResponse
.Select(d => new GroupedObject
{
id = d.id,
name = d.name,
value = d.value,
color = d.color
})
.GroupBy(o => o.id).GroupBy(o => o.name)
.ToDictionary(a => a.Key, a => a.Select(o => o).ToList());