当前位置:  开发笔记 > 编程语言 > 正文

新手LINQ问题:在LINQ查询中分页可能吗?

如何解决《新手LINQ问题:在LINQ查询中分页可能吗?》经验,为你挑选了1个好方法。

是否可以在Linq查询中使用"分页"功能?假设我有一些像这样的XML:


    
        
            
                Choice One 
                Choice Two
                Choice Three
                .
                .
                .
                Choice Forty-Eight
                Choice Forty-Nine
                Choice Fifty
            
        
    

如果我想实现分页功能,我是否能够为LINQ查询提供偏移量,以便我可以从第11个元素开始到第20个元素结束?如果是这样,如果数据是对象列表而不是XML,查询是否会有所不同?



1> James Curran..:
var q = from X in Choices.Skip((page-1)*pageSize).Take(pageSize)
        select X;

现在,如果你需要一个where子句,它会变得有点棘手:

var q = (from X in Choices
         where x.SomeField == SomeValue
         select X).Skip((page-1)*pageSize).Take(pageSize);


对于第二种情况,仅使用扩展方法而不是混合使用语言语法可能会更容易:var q = Choices.Where(x => x.SomeField == SomeValue).Skip((page-1)* pageSize) .Take(pageSize);
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有