有人可以简单地解释为什么我不能在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
答案 0 :(得分:1)
CopyToDataTable的泛型类型有限制。
看一下方法的声明:
public static DataTable CopyToDataTable<T>(this IEnumerable<T> source)
where T : DataRow
{
}
如果您注意到第二行,则IEnumerable<T>
必须是DataRow
的可枚举数。你拥有的是一个无数的匿名对象。
根据DataTable
来自,绑定等的内容,还有许多其他方法可以完成您尝试做的事情,但这就是您没有这种方法的原因。< / p>