首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AsEnumerable().Take

AsEnumerable().Take
EN

Stack Overflow用户
提问于 2012-11-29 16:51:00
回答 3查看 2.5K关注 0票数 3

我想从数据表中获取前n个记录。

我不想运行一个我已经知道的循环。

我正试着这么做

代码语言:javascript
复制
DataTable dt = dtResult.AsEnumerable().Take(n)

这是正确的方式吗?

将这"n个记录“放在另一个数据表中的过程是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-29 16:53:06

是的,这是从数据表中获取前N行的正确方法。使用CopyToDataTable扩展从查询结果创建新的数据表:

代码语言:javascript
复制
DataTable dt = dtResult.AsEnumerable()
                       .Take(n)
                       .CopyToDataTable();
票数 4
EN

Stack Overflow用户

发布于 2012-11-29 17:03:08

lazyberezovsky的答案是正确的,但是,如果您想做一些比Take更奇特的事情,那么您可能更喜欢使用AsQueryable而不是AsEnumerable,因为IQueryable接口让您可以更自由地针对内存中还没有的集合编写表达式。我想说,与IEnumerable相比,IQueryable更适合与数据库交互。更多信息:What is the difference between IQueryable and IEnumerable?

代码语言:javascript
复制
DataTable dt = dtResult.AsQueryable()
                       .Take(n)
                       .CopyToDataTable();
票数 2
EN

Stack Overflow用户

发布于 2012-11-29 16:54:21

试试这个.CopyToDataTable()。例如。

代码语言:javascript
复制
DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13621927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档