LINQ to Datatable Group by并返回所有列

vic*_*cky 3 c# linq

我有一个数据表

ID  Age Last name   First Name  Sex class   Father_Name Mother_Name Marks
1   20  A   B   M   1   A   B   50
1   20  A   B   M   1   A   B   50
1   20  A   B   M   1   A   B   100
2   15  F   G   F   2   H   J   40
2   15  F   G   F   2   H   J   50
Run Code Online (Sandbox Code Playgroud)

我希望在应用Linq Group之后获得以下结果

1   20  A   B   M   1   A   B   200
2   15  F   G   F   2   H   J   90
Run Code Online (Sandbox Code Playgroud)

我能够得到总和,但我无法获得LINQ组中的其他列

任何人都可以帮助这个

var drResults = from r1 in dtResults.AsEnumerable()
                            group r1 by new 
                                {
                                   MarksSum=  r1.Field<int>("Marks"),

                                }
                                into g
                            select new
                            {


                                    Total = g.Sum(r1=>r1.Field<int>("Marks"))                                   
                            };
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 6

var _result =   from r1 in dtResults.AsEnumerable()
                group r1 by new
                {
                    ID = r1.Field<int>("ID"),
                    Age = r1.Field<int>("Age"),
                    LastName =  r1.Field<int>("LastName"),
                    FirstName = r1.Field<int>("FirstName"),
                    Sex =  r1.Field<int>("Sex"),
                    Class =  r1.Field<int>("class"),
                    Father_Name =  r1.Field<int>("Father_Name"),
                    Mother_Name =  r1.Field<int>("Mother_Name")
                } into g
                select new
                {
                    ID = g.Key.ID,
                    Age = g.Key.Age,
                    LastName =  g.Key.LastName,
                    FirstName = g.Key.FirstName,
                    Sex =  g.Key.Sex,
                    Class =  g.Key.Class,
                    Father_Name =  g.Key.Father_Name,
                    Mother_Name =  g.Key.Mother_Name,
                    TotalMark = g.Sum(x => x.Field<int>("Marks"))
                };
Run Code Online (Sandbox Code Playgroud)