从LINQ查询返回数据表

时间:2016-06-23 14:25:43

标签: c# linq datatable

基本上我有一个有150万行的原始DataTable。我想要做的主要是按tc对所有这些行进行分组,并将tr的总和归结为tc另一个DataTable。欢迎任何帮助!下面的代码由我得到错误:

  

无法投射类型的对象   'WhereSelectEnumerableIterator`2 [System.Linq.IGrouping`2 [System.String,的System.Data.DataRow],<> f__AnonymousType0`2 [System.String,System.Decimal]]'   输入

public static DataTable TSummerization()
{
    Console.WriteLine("Summerization Request");
    IEnumerable<DataRow> query = 
    (IEnumerable<DataRow>)from b in Program.myTimetable.AsEnumerable()
                          group b by b.Field<string>("tc") into g
                          select new
                          {
                              tc = g.Key,
                              tr = g.Sum(x => x.Field<decimal>("tr"))
                          };

    return query.CopyToDataTable();
}

这个问题不重复。有人可以展示如何在没有AsEnumerable的情况下实际返回DataTable而不是返回IEnumerable<AnonymousType#1>

的示例

0 个答案:

没有答案