2013-02-28 96 views
0

我有一个由对象组成的列表。将列表中的两个对象合并为一个

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查询。

我想聚合两个

+0

这可能会帮助你http://stackoverflow.com/questions/3910222/combine-object-properties-into-a-list-with-linq – Sachin 2013-02-28 16:45:19

回答

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) 
} 

一个分组会的工作。

+0

+1打我29秒的几乎完全一样的东西:) – 2013-02-28 16:47:43

+0

@lc。其实你的答案是编译:) – 2013-02-28 16:59:29

+0

@lazyberezovsky,你可以编辑它或指出缺陷。 – Joe 2013-02-28 17:21:15