[英]Datatable group by having c#
I have a Datatable called " ConflictData
". 我有一个名为“
ConflictData
”的数据表。 I want to do this SQL command by using LINQ
我想通过使用
LINQ
来执行此SQL命令
Select ID from ConflictData group by ID,DesignArticle,DesignNo,PatternCode having count(ID)>=2))
I try this 我尝试这个
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
};
But it show the error: 但是显示错误:
Error 2 'System.Data.DataRow' does not contain a definition for 'ID','DesignArticle','DesignNo','PatternCode' and no extension method 'ID','DesignArticle','DesignNo','PatternCode' accepting a first argument of type 'System.Data.DataRow' could be found (are you missing a using directive or an assembly reference?)
错误2'System.Data.DataRow'不包含'ID','DesignArticle','DesignNo','PatternCode'的定义,并且没有扩展方法'ID','DesignArticle','DesignNo','PatternCode'接受可以找到类型为'System.Data.DataRow'的第一个参数(是否缺少using指令或程序集引用?)
I pretty sure datatable " ConflictDatas
" have these Columns. 我很确定数据表“
ConflictDatas
”具有这些列。
How do I modify my LINQ
? 如何修改
LINQ
? Thanks. 谢谢。
use Field<datatype>("columnName")
to fetch cell value of given column in datatable row as below 使用
Field<datatype>("columnName")
来获取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
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.