我是LINQ
的新手,我正在尝试用它来查询我的DataSet
。所以我跟着this example跟着这封信,它不起作用。
我知道我的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
答案 0 :(得分:81)
虽然包含扩展的类位于System.Data
命名空间中,但它位于默认情况下未添加到项目的程序集中。添加对System.Data.DataSetExtensions
的引用到您的项目,它应该没问题。请记住,即使在添加引用之后,任何期望使用类中定义的扩展方法的类也需要具有System.Data的using语句。
答案 1 :(得分:8)
我认为您可能需要在System.Data.DataSetExtensions
生效之前向项目添加AsEnumerable
参考。
答案 2 :(得分:5)
您需要引用System.Data.DataSetExtensions