Я совершенно новый для LINQ
и пытаюсь запросить у него DataSet
. Поэтому я последовал за письмом this example, и он не работает.LINQ to DataSet, DataTable.AsEnumerable() не распознается
Я знаю, что мой 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
Спасибо, что работает сейчас! Я разрывал волосы на этом. :) +1 всем для System.Data.DataSetExtensions, но вы получите «accept» для лучшего объяснения. Еще раз спасибо. – GSTD
Почему все еще есть необходимость добавить оператор using, даже если он уже включен в ссылки проекта? – Charmie
@Charmie оператор 'using' делает пространство имен доступным в файле/классе. Поскольку это метод расширения, вы не можете ссылаться на него, используя полное пространство имен (при использовании в качестве расширения), и поэтому должно быть включено пространство имен. – tvanfosson