Na przykład, jak mogę pogrupować następujące rekordy według GroupId
używając LINQ i zsumować wszystkie pozostałe kolumny w każdej grupie? (A zatem połączenie wszystkich wierszy, w każdej grupie do jednego)Jak scalić/podsumować rekordy według grupy za pomocą LINQ?
var list = new List<Foo>()
{
new Foo() { GroupId = 0, ValueA = 10, ValueB = 100 },
new Foo() { GroupId = 1, ValueA = 30, ValueB = 700 },
new Foo() { GroupId = 1, ValueA = 40, ValueB = 500 },
new Foo() { GroupId = 2, ValueA = 80, ValueB = 300 },
new Foo() { GroupId = 2, ValueA = 20, ValueB = 200 },
new Foo() { GroupId = 2, ValueA = 20, ValueB = 200 }
};
Oczekiwany wynik to:
| GroupId | ValueA | ValueB |
|---------|--------|--------|
| 0 | 10 | 100 |
| 1 | 70 | 1200 |
| 2 | 120 | 700 |