Linq跳过的问题

时间:2016-03-03 09:24:55

标签: c# linq entity-framework-6

我有这个代码..

        var documents = from d in db.Documents select d;
        documents = documents.OrderBy(d => d.Created);
        documents = documents.Skip(20).Take(10);

在db中,我有25个文档(ID从1到25)。当我运行此代码时,我会从id 19到24获取文档。

如果我这样写的话

    documents = documents.Skip(20);

或者像这样

documents = documents.Skip(20).ToList().Take(10).AsQueryable();

我从身份证20到25获取文件..

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

您的数据不是您的想法。问题是created中的id=25日期不合适。

答案 1 :(得分:0)

您首先按created排序您的序列,那么为什么您希望按id排序(或基于选择)输出?

首先执行Skip并且OrderBy秒更改输出,因为它最初可能由Id排序,然后您按顺序排列最后几个,然后按顺序排序再次约会。