我有一个名为" ConflictData
"的数据表。
我想使用LINQ
Select ID from ConflictData group by ID,DesignArticle,DesignNo,PatternCode having count(ID)>=2))
我试试这个
var ID = from item in ConflictDatas.AsEnumerable()
group item by new
{
ID = item.ID,
DesignArticle = item.DesignArticle,
DesignNo = item.DesignNo,
PatternCode = item.PatternCode
} into g
where g.Count() > 2
select new
{
ID = g.Key.ID
};
但它显示错误:
错误2' System.Data.DataRow'不包含' ID',' DesignArticle' DesignNo',' PatternCode'的定义没有扩展方法' ID',' DesignArticle' DesignNo',' PatternCode'接受类型为System.Data.DataRow'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
我非常确定数据表" ConflictDatas
"有这些专栏。
如何修改LINQ
?感谢。
答案 0 :(得分:0)
使用Field<datatype>("columnName")
获取数据表行中给定列的单元格值,如下所示
var ID = from item in ConflictDatas.AsEnumerable()
group item by new
{
ID = item.Field<int>("ID"),
DesignArticle = item.Field<string>("DesignArticle"),
DesignNo = item.Field<string>("DesignNo"),
PatternCode = item.Field<string>("PatternCode")
} into g
where g.Count() > 2
select new
{
ID = g.Key.ID
};