asp.net 数据表不包含AsEnumerable的定义

bogh5gae  于 2022-12-30  发布在  .NET
关注(0)|答案(6)|浏览(274)

使用linq查询数据表返回以下错误:CS0117:"DataSet1.map数据表"不包含"AsEnumerable"的定义
项目包含对System.Data.Database扩展的引用。
这是密码。

using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Reflection;
using System.Data;
using System.Linq;
using System.Data.Linq;
using System.Data.Common;
using System.Data.DataSetExtensions;
using System.Linq.Expressions;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)
    {
        var query1 = from mfg_nm in DataSet1.mapDataTable.AsEnumerable()

                     select mfg_nm;
}

在不使用AsEnumerable()的情况下运行它会导致

var query1 = from mfg_nm in DataSet1.mapDataTable

                     select mfg_nm;

CS1660:无法将lambda表达式转换为类型"string",因为它不是委托类型。

6gpjuf90

6gpjuf901#

method you want位于System.Data名称空间中,因此using指令很好,但您还需要一个对System.Data.DataSetExtensionsassembly 的引用。您是否 * 确定 * 您已将该引用作为 assembly 引用?
不清楚为什么要为System.Data.DataSetExtensions * 命名空间 * 使用using指令-这不会引发错误吗?
AsEnumerable()调用的确切错误是什么?(我对您在第二个表单中得到的错误感到惊讶......这不是我所期望的错误。)

nnsrf1az

nnsrf1az2#

从"nuget"或"添加引用"添加系统.数据.数据集扩展
添加此代码:

using System.Data.DataSetExtensions;
lc8prwob

lc8prwob3#

在发生这种情况的所有情况下,都缺少对System.Data.DataSetExtensions.dll的引用。如果有疑问,请尝试创建一个以.NET 4为目标并引用System.Data.DataSetExtensions.dll的简单控制台项目,以验证添加该引用是否确实有效。
还要注意,您只需要使用System.data命名空间。
顺便说一句,mapDataTable是一个数据表,对吗?

njthzxwz

njthzxwz4#


I收到此错误消息:“System.Data.DataTable”不包含“AsEnumerable”的定义,并且找不到接受“System.Data.DataTable”类型的第一个参数的扩展方法“AsEnumerable”(是否缺少using指令或程序集引用?)
新增

using System.Data;

在“引用”部分添加了“System.Data.DataSetExtensions”。这解决了问题。

jdgnovmf

jdgnovmf5#

谷歌搜索“system.data.datatable不包含asenumerable的定义”把我带到这里,我的麻烦就不见了:

using System.Data;

由于我的实现,错误消息有点误导。因此,我对这个问题的回答。代码就像...

public List<mytype> MyMethod(params) {
   return new mynamespace.myclasslib.myclass().GetDataTable(params).AsEnumerable()
      .etc
}

当我试图显式声明DataTable时,很明显我缺少using语句。

kq0g1dla

kq0g1dla6#

请尝试以下代码:
第一个月

相关问题