首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

咋回事,linq分页数据出来不对

2012-03-24 
怎么回事,linq分页数据出来不对很郁闷的,前几页正常,后面中间就不对了,有好几页竟然是一样的result resu

怎么回事,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 排序,
[解决办法]
加个 排序 试试。
[解决办法]

探讨

加个 排序 试试。

[解决办法]
没看出啥问题,关注

热点排行