Aggregate data grouped by a key - C#