2013-02-28 5 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

ответ

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 секунд почти точно так же :) –

+0

@lc. на самом деле ваш ответ был компилируемым :) –

+0

@lazyberezovsky, вы могли бы отредактировать его или указали на недостаток. – Joe