LINQ to Entities中数据分页时,出现如下提示:
LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”。 
难道必须要OrderBy吗??
有时我是按照数据库中默认查询出来的数据顺序来分页的,不需要排序。

解决方案 »

  1.   

    加上一个ToList()或者db.Where(x => ...)
        .Select((x, i) => new { x, i }).OrderBy(x => x.i).Select(x => x.x).Skip(xxx).Take(xxx);
      

  2.   


    ....直接ToList那是在内存里面分页,我需要在数据库里分页;
    第二种方法不还是要写“OrderBy”;
      

  3.   

    先调用Skip take  然后在 ToList 这样不是在内存中分页的 可以看下SQL检控~ 
      

  4.   

    如果不是相同的排序规则,那么每次取的数据也有可能会重复
    所以skip take 取数据前必要要按照相同的排序规则先排好序