Vb.net LINQ选择新

Vb.net LINQ选择新,vb.net,linq,Vb.net,Linq,我有一个包含重复行的DataTable。 我需要这一排。 我想做什么 Dim dups1 = From row In objDataSet.Tables(0).AsEnumerable() _ Let UserId = row.Field(Of Integer)("UserId") _ Group row By UserId Into grp = Group _

我有一个包含重复行的DataTable。 我需要这一排。 我想做什么

 Dim dups1 = From row In objDataSet.Tables(0).AsEnumerable() _
                       Let UserId = row.Field(Of Integer)("UserId") _
                       Group row By UserId Into grp = Group _
                       Where (grp.Count() = 2) _
                       Select grp
但我如何才能从中选择新的。我需要

Select New UserName = row("UserName"), UserId = row("UserId")

如何在第一次查询中执行此操作

您可以选择匿名类型

Select New With { .UserName = row.Field(Of String)("Username"), .UserId = row.Field(Of Integer)("UserId") }
集成在查询中,假设
UserId
UserName
的组合是唯一的:

Dim dups1 = From row In objDataSet.Tables(0).AsEnumerable()
            Group row By UserCols = New With {
                Key .UserId = row.Field(Of Integer)("UserId"),
                Key .UserName = row.Field(Of String)("Username")
            } Into Group
            Where Group.Count() > 1
            Select UserCols

如何在第一次查询中执行此操作?如果使用此版本,则会出现错误“Count”不是“”的成员;它在当前上下文中不存在。对于UserCols.Count()@undf.ms:抱歉,已修复它。