2012-02-09 68 views
21

使用LINQ查詢數據表中返回以下錯誤:CS0117:「DataSet1.map數據表」不包含「AsEnumerable」數據表不包含定義AsEnumerable

項目包括System.Data引用的定義。 Datasetextensions。

這是代碼。

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表達式到類型 '串',因爲它不是一個委託類型

在此先感謝你的幫助

回答

52

method you want是在System.Data命名空間中,所以using指令是好的,但你也需要參考System.Data.DataSetExtensions組件。你是當然你有參考作爲大會參考?

不知道爲什麼你有一個使用指令的System.Data.DataSetExtensions命名空間 - 這不會引發錯誤嗎?

調用AsEnumerable()的確切錯誤是什麼? (我很驚訝你用第二種形式得到的錯誤......這不是我預期的錯誤。)

+0

感謝您的快速響應。刪除了System.data.datasetextensions。確認System.data.datasetextensions程序集。表單web.config: user1169290 2012-02-09 20:08:06

+1

@ user1169290:你能不能在引用下面添加它?我不知道是否有它在web.config下有所作爲... – 2012-02-09 20:10:38

+0

這就是我如何添加它,我認爲這增加了行配置文件 – user1169290 2012-02-09 20:16:49

7

在發生這種情況的所有情況下,對System.Data.DataSetExtensions的引用。 DLL缺失。如果有疑問,請嘗試創建一個針對.NET 4的簡單控制檯項目,並引用System.Data.DataSetExtensions.dll,以驗證添加參考實際上是否有效。

另請注意,您只需使用System.Data命名空間。

BTW mapDataTable是一個DataTable,對不對?

+0

是的,mapdatatable是一個數據表 – user1169290 2012-02-09 20:17:35

2

谷歌搜索「system.data.datatable不包含asenumerable定義」帶我來這裏,和我鬧失蹤:

using System.Data; 

由於我的執行錯誤信息是有點誤導。因此,我對這個問題的回答。代碼就像...

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

一旦我試圖顯式聲明DataTable,很明顯我缺少using語句。

+0

只是想添加我們也應該有System.Linq – Carol 2017-05-10 14:53:27