我想从数据表中获取前n个记录。
我不想运行一个我已经知道的循环。
我正试着这么做
DataTable dt = dtResult.AsEnumerable().Take(n)这是正确的方式吗?
将这"n个记录“放在另一个数据表中的过程是什么?
发布于 2012-11-29 16:53:06
是的,这是从数据表中获取前N行的正确方法。使用CopyToDataTable扩展从查询结果创建新的数据表:
DataTable dt = dtResult.AsEnumerable()
.Take(n)
.CopyToDataTable();发布于 2012-11-29 17:03:08
lazyberezovsky的答案是正确的,但是,如果您想做一些比Take更奇特的事情,那么您可能更喜欢使用AsQueryable而不是AsEnumerable,因为IQueryable接口让您可以更自由地针对内存中还没有的集合编写表达式。我想说,与IEnumerable相比,IQueryable更适合与数据库交互。更多信息:What is the difference between IQueryable and IEnumerable?
DataTable dt = dtResult.AsQueryable()
.Take(n)
.CopyToDataTable();发布于 2012-11-29 16:54:21
试试这个.CopyToDataTable()。例如。
DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();https://stackoverflow.com/questions/13621927
复制相似问题