EF6.0 数据库Sql Server2008 排序生成的sql 是使用了 RowNumber 没有任何问题。
EF6.0 数据库Sql Server2012 排序生成的sql 是使用了 OFFSET/FETCH NEXT,一般情况也是没有问题的。不过有个特殊情况,如果排序字段值是一样的,就没法分页了。如:(如果Name值一样的话)
SELECT * FROM [dbo].[Assets] AS [Extent1] ORDER BY [Extent1].[Name] DESC OFFSET 11 ROWS FETCH NEXT 4 ROWS ONLY;
请问大神有遇到这种情况吗?
除了修改排序字段、增加唯一字段排序、手写RowNumber 可有其他解决方案?
加一个自增字段用来排序
一般是加一个排序字段
你是让他默认排序么?
不是,本来使用创建时间排序。(可是有种情况,导入的数据创建时间都是一样的。导致无法分页。)
@农码一生: 这不很正常吗?一样的值就算随机分布那也是已排序了.程序员不要跟业务一样搞不清楚基本原则.
1L已经说了.既然这个字段是一样的.那就再加个二级排序字段.比如ID.
你可以批量修改下时间,时间+行号,这样子时间就区分了
加个唯一排序字段不就行了吗?
这个肯定是的 既然是排序排序 肯定是要有顺序才能排
你没有能排序的字段 自然是设计问题
增加一个自增字段就可以了 以自增来排序
我也遇到了这个问题,加个主键排序就可以了
最近也遇到了这个问题,