我想从数据表中获取n个记录。
我不想运行我已经知道的循环。
我正在尝试这样做
DataTable dt = dtResult.AsEnumerable().Take(n)
是正确的方法..?
使这个“n条记录”在另一个数据表中的过程是什么??
答案 0 :(得分:3)
是的,这是从数据表中获取前N行的正确方法。使用CopyToDataTable扩展名从查询结果中创建新数据表:
DataTable dt = dtResult.AsEnumerable()
.Take(n)
.CopyToDataTable();
答案 1 :(得分:2)
AsQueryable
AsEnumerable
更奇特的东西,你可能想要使用Take
而不是IQueryable
。{{1接口使您可以更自由地针对尚未在内存中收集的集合编写表达式。我会说IQueryable
比IEnumerable
更适合与数据库进行交互。更多信息:What is the difference between IQueryable and IEnumerable?
DataTable dt = dtResult.AsQueryable()
.Take(n)
.CopyToDataTable();
答案 2 :(得分:0)
试试这个.CopyToDataTable()
。 E.g。
DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();