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而不是如果您想做一些更花哨的事情,AsEnumerable而不仅仅是界面让您有更多的自由来针对您还没有进入内存的集合编写表达式。我想说它比现在更适合与数据库交互。更多信息:IQueryable 和 IEnumerable 有什么区别?TakeIQueryableIQueryableIEnumerable

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 回答