3

データテーブルから最初のn個のレコードを取得したいと思います。

すでに知っているループを実行したくありません。

私はこれをやろうとしています

DataTable dt = dtResult.AsEnumerable().Take(n)

正しい方法です..?

この「nレコード」を別のデータテーブルに入れるプロセスは何ですか。

4

3 に答える 3

4

はい、これはデータテーブルから最初のN行を取得する正しい方法です。CopyToDataTable拡張機能を使用して、クエリ結果から新しいデータテーブルを作成します。

DataTable dt = dtResult.AsEnumerable()
                       .Take(n)
                       .CopyToDataTable();
于 2012-11-29T08:53:05.520 に答える
2

lazyberezovskyの答えは正しいですが、インターフェイスがまだメモリにないコレクションに対して式を書くためのより多くの自由を提供するのと同じように、もっと凝ったことをしたいのAsQueryableではなく、おそらく使用したいと思います。データベースとのやりとりには、実際よりも適していると思います。詳細:IQueryableとIEnumerableの違いは何ですか?AsEnumerableTakeIQueryableIQueryableIEnumerable

DataTable dt = dtResult.AsQueryable()
                       .Take(n)
                       .CopyToDataTable();
于 2012-11-29T09:03:08.140 に答える
0

これを試してください.CopyToDataTable()。例えば

DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();
于 2012-11-29T08:54:20.513 に答える