Подтвердить что ты не робот

LINQ to DataSet, DataTable.AsEnumerable() не распознается

Я новичок в LINQ и пытаюсь запросить у меня DataSet с ним. Поэтому я последовал за этот пример к письму, и он не работает.

Я знаю, что мой DataTable нуждается в .AsEnumerable в конце, но он не распознается IDE. Что я делаю не так? Мне не хватает ссылки/импорта, которая не показана в примере (не первый раз, когда пример MSDN был не совсем прав), и если да, то какой? Или это совсем другое?

Пример кода:

Imports System
Imports System.Linq
Imports System.Linq.Expressions
Imports System.Collections.Generic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Globalization


//Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
//See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)

Dim products As DataTable = ds.Tables("Product")

Dim query = From product In products.AsEnumerable() _
            Select product
Console.WriteLine("Product Names:")
For Each p In query
    Console.WriteLine(p.Field(Of String)("Name"))
Next

Ссылки в моем проекте:

System
System.Data
System.Drawing
System.Windows.Forms
System.Xml
4b9b3361

Ответ 1

Пока класс, содержащий расширения, находится в пространстве имен System.Data, он находится в сборке, которая по умолчанию не добавляется в ваш проект. Добавьте ссылку на System.Data.DataSetExtensions в свой проект, и все должно быть в порядке. Помните, что даже после добавления ссылки любой класс, который ожидает использовать методы расширения, определенные в классе, должен также иметь инструкцию using для System.Data.

Ответ 2

Я думаю, вам может понадобиться добавить System.Data.DataSetExtensions Ссылка на ваш проект до того, как AsEnumerable будет работать.

Ответ 3

вам нужна ссылка на System.Data.DataSetExtensions