0

有人可以简要解释一下为什么我不能CopyToDataTable在以下linq对象(IEnumurable类型)上使用该方法吗?

var query = from r in SourceData.AsEnumerable()
        group r by r["fruitid"] into Dt
        select new
        {
        Group = Dt.Key,
        Sum = Dt.Sum((t)=> double.Parse(t["name"].ToString())) 
        };

提醒:我的目标是检索DataTable以下结果GroupBy Clause

4

1 回答 1

1

CopyToDataTable的泛型类型存在限制。

看一下方法的声明:

public static DataTable CopyToDataTable<T>(this IEnumerable<T> source)
    where T : DataRow
{

}

如果您注意到第二行,则您的IEnumerable<T>必须是DataRows 的可枚举项。你所拥有的是一个可枚举的匿名对象。

根据您DataTable的来源,绑定等,还有许多其他方法可以完成您尝试做的事情,但这就是您没有该方法可用的原因。

于 2016-09-08T12:57:33.927 回答