将列表中的两个对象聚合为一个

时间:2013-02-28 16:41:53

标签: c# linq

我有一个由对象组成的列表。

List<Person> where 

class Person
{
    enum id;
    string name;
    int goals;

}

记录1:{enum.1,"Mark",20}
记录2:{enum.1,"Mark",7 }

结束结果:只有一条记录{enum.1,"Mark",27}

我在具有不同目标的数据库中多次拥有同一个人的记录 我知道我可以使用SQL函数 我试图找到一个linq查询。

我想聚合两个

1 个答案:

答案 0 :(得分:3)

from person in PersonList
group person by new { id = person.id, name = person.name } into grouping
select new Person
{
    id = grouping.Key.id,
    name = grouping.Key.name,
    goals = grouping.Sum(x => x.goals)
}

分组可行。