LINQ to DataSet, DataTable.AsEnumerable () не распознан - PullRequest
31 голосов
/ 16 октября 2010

Я новичок в 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

Ответы [ 3 ]

83 голосов
/ 16 октября 2010

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

8 голосов
/ 16 октября 2010

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

5 голосов
/ 16 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...