如何限制非泛型 IQueryable 中的记录数
当我有一个 IQueryable
(通用)时,我可以使用 Take
方法从查询返回的结果集中仅返回 N 条记录。
当我使用简单的非通用 IQueryable
时,Take
方法不可用。是否有其他方法可以达到与 Take
方法相同的结果?
更新:正如理查德指出的那样,另一个问题解决了这个问题。就我而言,必要的代码比 Jon Skeet 在另一个问题中提出的代码更简单。这是我的最终代码:
dynamic tempQuery = originalQuery;
finalQuery = Queryable.Take(tempQuery, numRecords);
When I have an IQueryable<T>
(generic) I can use the Take
method to return only N records from the result set returned by the query.
When I'm using a simple non-generic IQueryable
, Take
method is not available. Is there an other way to achieve the same result as the Take
method?
UPDATE: as Richard pointed, another question solves this problem. In my case, the necessary code was even simpler then the code proposed by Jon Skeet in the other question. That's my final code:
dynamic tempQuery = originalQuery;
finalQuery = Queryable.Take(tempQuery, numRecords);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用此扩展方法:
只要您匹配方法签名并提供格式良好的表达式,您就可以使用
Queryable
上定义的各种扩展方法(如Skip
等)实现类似的效果树。Use this extension method:
You can achieve a similar effect with the various extension methods defined on
Queryable
likeSkip
and others, provided you match the method signatures and provide well-formed expression trees.