1

現在、以下のコードを使用していますが、エントリ値に基づいてクエリを実行できるかどうか疑問に思っています。現時点では、定義されている行数を返します。

var q = sqlData.AsEnumerable().Take(2);

このデータはデータベースから取得され、テーブルに代入されますが、現時点ではデータベース データをデータ テーブルに返すだけで、最初の 2 行を選択できるので、データ テーブルにクエリを実行して取得できるかどうか疑問に思っていました。実際のテーブル自体のインデックスに基づいて必要な行 (たとえば、テーブルで 5 つの行を見つけて、この情報を照会します)。

4

2 に答える 2

2

ええ、通常のEnumerableコレクションと同じようにクエリできます-

特定の列名のすべての行を"Id"に等しくし5たい場合は、次のようにクエリできます-

sqlData.AsEnumerable().Where(data => data.Field<int>("Id") == 5);

これにより、列のId値が。であるすべての行が返されます5

他のdataTypeについても同様にクエリを実行できます。たとえば、このようにName設定されたすべての行を取得したい場合などです。TestName

sqlData.AsEnumerable().Where(data => data.Field<string>("Name") == "TestName");
于 2012-11-13T16:53:20.450 に答える
0

これを試して

var q = sqlData.AsEnumerable()
               .FindAll(data => data.Field<int>("Id") == 10 
                     && data.Field<string>("Name").Equals("SomeName"));

// クエリはデータ レコードを返しid = 10ますname = 'somename'

于 2012-11-13T16:56:08.873 に答える