使用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",因为它不是委托类型。
6条答案
按热度按时间6gpjuf901#
method you want位于
System.Data
名称空间中,因此using
指令很好,但您还需要一个对System.Data.DataSetExtensions
assembly 的引用。您是否 * 确定 * 您已将该引用作为 assembly 引用?不清楚为什么要为
System.Data.DataSetExtensions
* 命名空间 * 使用using指令-这不会引发错误吗?AsEnumerable()
调用的确切错误是什么?(我对您在第二个表单中得到的错误感到惊讶......这不是我所期望的错误。)nnsrf1az2#
从"nuget"或"添加引用"添加系统.数据.数据集扩展
添加此代码:
lc8prwob3#
在发生这种情况的所有情况下,都缺少对System.Data.DataSetExtensions.dll的引用。如果有疑问,请尝试创建一个以.NET 4为目标并引用System.Data.DataSetExtensions.dll的简单控制台项目,以验证添加该引用是否确实有效。
还要注意,您只需要使用System.data命名空间。
顺便说一句,mapDataTable是一个数据表,对吗?
njthzxwz4#
I收到此错误消息:“System.Data.DataTable”不包含“AsEnumerable”的定义,并且找不到接受“System.Data.DataTable”类型的第一个参数的扩展方法“AsEnumerable”(是否缺少using指令或程序集引用?)
新增
在“引用”部分添加了“System.Data.DataSetExtensions”。这解决了问题。
jdgnovmf5#
谷歌搜索“system.data.datatable不包含asenumerable的定义”把我带到这里,我的麻烦就不见了:
由于我的实现,错误消息有点误导。因此,我对这个问题的回答。代码就像...
当我试图显式声明DataTable时,很明显我缺少using语句。
kq0g1dla6#
请尝试以下代码:
第一个月