基本上我有一个有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>