Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在数据表中的列中使用GROUPBY_.net_Linq_Datatable - Fatal编程技术网

.net 在数据表中的列中使用GROUPBY

.net 在数据表中的列中使用GROUPBY,.net,linq,datatable,.net,Linq,Datatable,我对.net中的Linq查询有问题。 我将这个简单的表存储在一个名为DBToUse的数据表中。 在我要执行的查询之前,表已经按主单位进行了筛选 PrimaryUnit - ErrorCode - ErrorDescription - Count Unit3 2 axe 3 Unit3 1 no source Unit3 1 axe 1 Unit3

我对.net中的Linq查询有问题。 我将这个简单的表存储在一个名为DBToUse的数据表中。 在我要执行的查询之前,表已经按主单位进行了筛选

PrimaryUnit - ErrorCode - ErrorDescription - Count
    Unit3         2           axe 3 
    Unit3         1           no source
    Unit3         1           axe 1
    Unit3         1           axe 2
    Unit3         1           axe 2 
    Unit3         2           axe 3
    Unit3         3           axe 3
我希望下表使用GROUPBY子句

Error Code and Description - Count
    2 - axe 3                  2
    1 - axe 2                  2
    3 - axe 3                  1
    1 - axe 1                  1
    1 - no source              1
我从这个简单的查询开始

Dim query = From row In DBToUse.AsEnumerable()
                Select PU = DBToUse.Columns("PrimaryUnit"), C = DBToUse.Columns("Count"), EC = DBToUse.Columns("ErrorCode"), ED = DBToUse.Columns("ErrorDescription")
                Group By EC Into prova = Group
1-有人能帮我在两列中使用Group By吗

2-为什么当我在调试模式下运行查询并对其进行处理时,会收到这样一条消息“expected a type”


感谢大家使用匿名类型,这应该可以:

Dim errorGroups = From row In DBToUse
                  Let puError = New With {
                    Key .PrimaryUnit = row.Field(Of String)("PrimaryUnit"),
                    Key .ErrorCode = row.Field(Of String)("ErrorCode"),
                    Key .ErrorDescription = row.Field(Of String)("ErrorDescription")
                  }
                  Group row By puError Into puErrorGroup = Group
                  Order By puErrorGroup.Count() Descending

Dim aggregatedTable As DataTable = DBToUse.Clone() ' empty table, same columns '
For Each grp In errorGroups
    Dim row = aggregatedTable.Rows.Add()
    row.SetField("PrimaryUnit", grp.puError.PrimaryUnit)
    row.SetField("ErrorCode", grp.puError.ErrorCode)
    row.SetField("ErrorDescription", grp.puError.ErrorDescription)
    row.SetField("Count", grp.puErrorGroup.Count())
Next