我想从数据表中获取第一 n 条记录。
我不想运行我已经知道的循环。
我正在尝试这样做
DataTable dt = dtResult.AsEnumerable().Take(n)
是正确的方法..?
使这个"n个记录"在另一个数据表中的过程是什么..?
是的,这是从数据表中获取前 N 行的正确方法。使用 CopyToDataTable 扩展从查询结果创建新的数据表:
DataTable dt = dtResult.AsEnumerable()
.Take(n)
.CopyToDataTable();
lazyberezovsky 的答案是正确的,但是如果你想做一些比Take
更花哨的事情,也许你想使用 AsQueryable
而不是AsEnumerable
因为 IQueryable
界面让你更自由地针对你还没有内存的集合编写表达式。我会说IQueryable
比IEnumerable
更适合与数据库交互。更多信息:IQueryable 和 IEnumerable 有什么区别?
DataTable dt = dtResult.AsQueryable()
.Take(n)
.CopyToDataTable();
试试这个.CopyToDataTable()
。
DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();