IEnumerable类型的LINQ对象不返回数据表
本文关键字:返回 数据表 对象 LINQ 类型 IEnumerable | 更新日期: 2023-09-27 18:06:08
有人能简要地解释一下为什么我不能在以下linq
对象(IEnumurable
类型)上使用CopyToDataTable
方法?
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()))
};
提示:我的目标包括检索GroupBy Clause
之后的结果DataTable
CopyToDataTable的泛型类型有一个限制。
看一下方法的声明:
public static DataTable CopyToDataTable<T>(this IEnumerable<T> source)
where T : DataRow
{
}
如果你注意到第二行,你的IEnumerable<T>
必须是DataRow
的一个可枚举对象。你得到的是一个可枚举的匿名对象。
根据你的DataTable
来自什么,绑定到什么,等等,有很多其他的方法来完成你想做的事情,但这就是为什么你没有那个方法可用。