Linq按物业分组物品

时间:2014-01-22 22:50:46

标签: c# linq

我正在尝试按一个属性(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();

1 个答案:

答案 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 })
             };

它返回匿名类型,但如果需要,您可以轻松更改它以返回类对象。