Usando Linq para GroupBy e soma de dados

Olá, eu tenho um Datatable como este:

Id             Amount 1        Amount 2        Amount 3  
1              2               2               2  
12             4               6               4  
12             6               6               5  
22             7               2               1  
22             7               2               2

Preciso obter minha tabela de dados assim:

Id             Amount 1        Amount 2        Amount 3  
1              2               2               2  
12             10              12              9    
22             14              4               3

Inicialmente, tentei fazer isso em um método anônimo, mas preciso devolvê-lo para outra classe que não pode ser feita com o método anônimo. Minha segunda tentativa foi fazer isso para que ele possa ser retornado:

DataTable ddt = dt.AsEnumerable()
        .Sum(g => g.Field<int>("Amount 1"))
        .GroupBy(g => new { Col1 = g["ID"] })
        .Select(g => g.OrderBy(r => r["ID"]).First())
        .CopyToDataTable();

Este código definitivamente não será compilado, mas qualquer ajuda / conselho, se possível, seria realmente apreciada. Eu sou muito novo no linq.

questionAnswers(3)

yourAnswerToTheQuestion