我正在尝试按一个属性(State)对对象进行分组。最终目标是拥有一个清单。每个列表中都有一个由两个属性组成的对象。我的数据看起来如下......
State Name ID
CA John 12
CA Kevin 13
CA Joe 14
AZ Sally 15754
AZ Stuart 1263
TN Sam 1211
如何使用linq将此列为对象'People',其中包含按州分组的人名和ID?这就是我尝试过的......但它不起作用
var result = from groupOne in dataset
group groupOne by OneGroup.State into g
select new People() { People = g.ToList() }.ToList();
答案 0 :(得分:1)
当OneGroup.State
不是查询的一部分时,为什么要按OneGroup
进行分组?
那个人应该这样做:
var result = from groupOne in dataset
group groupOne by groupOne.State into g
select new {
State = g.Key,
People = g.Select(x => new { x.Name, x.ID })
};
它返回匿名类型,但如果需要,您可以轻松更改它以返回类对象。