我正在尝试将对象映射到另一个对象,但我想按键分组。 我已设法创建以下查询,但我需要在对象上填充更多属性以及键和值。
var results = list.GroupBy(
c => c.PropertyKey,
c => c.Value,
(key, v) => new MyObject {PropertyKey = key, Values = v.ToList()}
);
但是,MyObject
还有另一个属性Color
,我还要填充list
。
我正在尝试做类似的事情:
var results = list.GroupBy(
c => c.PropertyKey,
c => c.Color,
c => c.Value,
(key, v) => new MyObject {PropertyKey = key, Color = ???, Values = v.ToList()}
);
有人可以推荐一种干净的方法吗?
答案 0 :(得分:3)
您可以将它们指定为匿名对象
.GroupBy(c => new { c.PropertyKey, c.Color },
c => c.Value,
(key, v) => new MyObject {
PropertyKey = key.PropertyKey,
Color = key.Color,
Values = v.ToList() });