如何获得返回数据表的结果?linq
我正在尝试以下线程的解决方案:
选择具有重复值的数据表的所有记录
但它无法为我编译。
这是我的代码
IEnumerable<DataRow> dtrow = default(IEnumerable<DataRow>);
dtrow = dtTable.AsEnumerable().GroupBy(x => x["MerkTypeID"]).Where(x => x.Count() > 1);
using (DataTable table = dtrow.CopyToDataTable())
{
}
但VS给出了这个错误
错误 CS0266 无法将类型隐式转换为 。存在显式转换(您是否缺少强制转换?System.Collections.Generic.IEnumerable<System.Linq.IGrouping<object, System.Data.DataRow>>System.Collections.Generic.IEnumerable<System.Data.DataRow>
我也试过这样
var dtrow = dtTable.AsEnumerable().GroupBy(x => x["MerkTypeID"]).Where(x => x.Count() > 1);
using (DataTable table = dtrow.CopyToDataTable())
{
}
但现在我得到这个错误
错误 CS0311 该类型不能用作泛型类型或方法中的类型参数“T”。没有从 到 的隐式引用转换。System.Linq.IGrouping<object, System.Data.DataRow>DataTableExtensions.CopyToDataTable<T>(IEnumerable<T>)System.Linq.IGrouping<object, System.Data.DataRow>System.Data.DataRow
那么如何做到这一点呢?为什么它似乎在我找到此代码的链接中起作用?
编辑
我尝试了亨利的这个建议:
IEnumerable<DataRow> dtrow = default(IEnumerable<DataRow>);
dtrow = (IEnumerable<DataRow>)gttDataTableOpdrachtCar.Table.AsEnumerable().GroupBy(x => x["MerkTypeID"]).Where(x => x.Count() > 1);
using (DataTable table = dtrow.CopyToDataTable())
这编译,但在运行时我得到这个错误:
其他信息:无法将类型为“WhereEnumerableIterator2[System.Object,System.Data.DataRow]]”的对象强制转换为类型“System.Collections.Generic.IEnumerable'1[System.Data.DataRow]”。1[System.Linq.IGrouping
摇曳的蔷薇
至尊宝的传说
MMMHUHU
随时随地看视频慕课网APP
相关分类