怎么回事,linq分页数据出来不对
很郁闷的,前几页正常,后面中间就不对了,有好几页竟然是一样的
result = result.Skip(40).Take(20);
和
result = result.Skip(60).Take(20);
我分析看了生成SQL代码
SELECT TOP 20 *
FROM [dbo].[Pingjia] AS [t0]
WHERE (NOT (EXISTS(
SELECT NULL AS [EMPTY]
FROM (
SELECT TOP 40 [t1].[nID]
FROM [dbo].[Pingjia] AS [t1]
WHERE ([t1].[Nianyue] = '2011 年 07 月') AND ([t1].[LingdaoName] IS NOT NULL)
) AS [t2]
WHERE [t0].[nID] = [t2].[nID]
))) AND ([t0].[Nianyue] = '2011 年 07 月') AND ([t0].[LingdaoName] IS NOT NULL)
和
SELECT TOP 20 *
FROM [dbo].[Pingjia] AS [t0]
WHERE (NOT (EXISTS(
SELECT NULL AS [EMPTY]
FROM (
SELECT TOP 60 [t1].[nID]
FROM [dbo].[Pingjia] AS [t1]
WHERE ([t1].[Nianyue] = '2011 年 07 月') AND ([t1].[LingdaoName] IS NOT NULL)
) AS [t2]
WHERE [t0].[nID] = [t2].[nID]
))) AND ([t0].[Nianyue] = '2011 年 07 月') AND ([t0].[LingdaoName] IS NOT NULL)
前20条是一样的,怪了 !怎么会这样?有什么解决办法
[解决办法]
你result集合是否同一个?
[解决办法]
另外难道是缓存问题么?你可以在控制台下测试一下你的数据。
[解决办法]
用SQL语句取出的数据是否正常?
[解决办法]
1楼代码没有Order by 排序,
[解决办法]
加个 排序 试试。
[解决办法]
[解决办法]
没看出啥问题,关注