LINQ to DataSet,DataTable.AsEnumerable()无法识别

GST*_*STD 31 .net linq dataset visual-studio-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
Run Code Online (Sandbox Code Playgroud)

我项目中的参考文献是:

System
System.Data
System.Drawing
System.Windows.Forms
System.Xml
Run Code Online (Sandbox Code Playgroud)

tva*_*son 86

虽然包含扩展的类System.Data位于命名空间中,但它位于默认情况下未添加到项目的程序集中.添加System.Data.DataSetExtensions对项目的引用,它应该没问题.请记住,即使在添加引用之后,任何期望使用类中定义的扩展方法的类也需要具有System.Data的using语句.

  • 我已经添加了对`System.Data.DataSetExtensions` (C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Data.DataSetExtensions.dll) 的程序集引用并拥有必要的`using System.Data` 和`using System.Data.DataSetExtensions`,但我收到错误“命名空间'System.Data'中不存在类型或命名空间名称'DataSetExtensions'(您是否缺少一个汇编参考?)” (2认同)

Ste*_*bob 8

我认为您可能需要System.Data.DataSetExtensionsAsEnumerable工作之前添加对项目的引用.


Jon*_*tes 5

你需要一个参考 System.Data.DataSetExtensions