L'utilisation de Linq to GroupBy et Somme datatable

Salut, j'ai une Table comme ceci:

Id Quantité 1 Quantité 2 Montant 3 
1 2 2 2 
12 4 6 4 
12 6 6 5 
22 7 2 1 
22 7 2 2 

Je dois obtenir ma datatable comme ceci:

Id Quantité 1 Quantité 2 Montant 3 
1 2 2 2 
12 10 12 9 
22 14 4 3 

J'ai d'abord essayé de le faire dans une méthode anonyme mais j'ai besoin de retourner à une autre classe qui ne peut pas être fait avec la méthode anonyme.
Ma deuxième tentative pour ce faire, il peut être retourné:

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();

Ce code certainement l'habitude de compiler mais Toute aide/conseils si possible serait vraiment apprécié. Je suis très nouveau à linq.

Double Possible de l'Utilisation de LINQ pour regrouper des données provenant de DataTable
google peut être votre meilleur ami si il est utilisé correctement
Vous devez faire le groupe en premier, puis dans votre sélection que vous souhaitez faire chaque somme.

OriginalL'auteur Leon Winston | 2016-06-01