所以我想从查询中返回分页数据:
var data = context.MyTable.OrderByDescending(r => r.Field1)
.Skip(10)
.Take(10)
这将通过Field1
为我提供10行的第二页但是假设表中的所有行都具有相同的Field1值,Skip / Take返回的数据不正确。我已经看到第二页可能包含已在第1页中返回的行的位置。
请注意使用EF 6.1.3
答案 0 :(得分:0)
为了得到正确的结果,我需要确保订购,产生一个独特的数据顺序。所以我在OrderBy中添加了另一列,即表的唯一ID。
var data = context.MyTable.OrderByDescending(r => r.Field1).ThenBy(r => r.FieldId)
.Skip(10)
.Take(10)
我没有找到任何确认我需要这样做的文件,或者这在EF中是否很重要?