Использование следующей таблицы данных:
Dim d As New DataTable()
d.Columns.Add("Product", GetType(System.String))
d.Columns.Add("Value", GetType(System.Double))
d.Rows.Add(New Object() {"OAP1", 100.0})
d.Rows.Add(New Object() {"EPP4", 100})
d.Rows.Add(New Object() {"OAP1", 150.25})
d.Rows.Add(New Object() {"OAPIN", 200.0})
Я пытаюсь использовать LINQ, чтобы определить, существует ли более одного продукта любого типа. В SQL это будет работать примерно так:
SELECT Product FROM SOME_TABLE HAVING COUNT(*) > 1
Я не могу на всю жизнь понять, как это сделать в LINQ. Я следовал за кем-то, кто сделал что-то вроде этого:
Dim q = From row In d.AsEnumerable()
Group row By New { column1 = row("Product"), column2 = row("Value") }
Into grp
Where grp.Count() > 1
Select row
For Each item In q
' 'q' is not declared. It may be inaccessible due to its protection level.
Next
Но я получаю ошибку, когда пытаюсь фактически использовать 'q'. Любые идеи о том, как я могу сделать эту работу?