Linqを使用してデータテーブルを照会すると、次のエラーが返されます。CS0117: 'DataSet1.map DataTable'には '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:ラムダ式はデリゲート型ではないため、型 'string'に変換できません
ご協力ありがとうございます
必要なメソッド は_System.Data
_名前空間にあるため、using
ディレクティブは問題ありませんが、_System.Data.DataSetExtensions
_への参照も必要ですアセンブリ。 sure参照はAssembly参照として取得していますか?
_System.Data.DataSetExtensions
_のusingディレクティブを使用している理由は明らかではありませんnamespace-エラーは発生しませんか?
AsEnumerable()
呼び出しの正確なエラーは何ですか? (2番目のフォームで発生しているエラーに驚いています...それは私が期待していたエラーではありません。)
これが発生するすべてのケースで、System.Data.DataSetExtensions.dllへの参照が欠落していました。疑わしい場合は、参照の追加が実際に機能することを確認するために、System.Data.DataSetExtensions.dllへの参照を持つ.NET 4を対象とする単純なコンソールプロジェクトを作成してみてください。
また、System.Data名前空間のみを使用する必要があることに注意してください。
ところで、mapDataTableはDataTableですよね?
追加System.Data.DataSetExtensions from "nuget"または "参照を追加"
このコードを追加してください:
using System.Data.DataSetExtensions;
Google検索「system.data.datatableにはenenumerableの定義が含まれていません」が私をここに連れてきましたが、私のトラブルは見当たりませんでした:
using System.Data;
私の実装のために、エラーメッセージは少し誤解を招くものでした。したがって、この質問に対する私の答え。コードは...
public List<mytype> MyMethod(params) {
return new mynamespace.myclasslib.myclass().GetDataTable(params).AsEnumerable()
.etc
}
DataTableを明示的に宣言しようとすると、usingステートメントが欠落していることが明らかになりました。