Linq to SQL - 随机选择顺序和分页

时间:2014-06-24 18:15:05

标签: linq

我们有一个数据库,在100多个类别中有2,00,000个供应商,如果有人访问我们想要允许他们选择一个类别的网站,并且每页显示25个供应商,首先我们按VendorId保留订单,但它始终用于获得前25,但我们删除它,但现在在分页它有时重复供应商,有没有办法获得随机25供应商,并保持分页。

此致

2 个答案:

答案 0 :(得分:0)

你可以随机化你的结果,但每当你点查询时,它都会创建新的随机列表,所以除非你随机化并保存你的代码和页面中的随机状态,否则它不能直接进行。 参考,SQL Query results pagination with random Order by in SQL Server 2008

答案 1 :(得分:0)

我认为如果每次都需要一个新的随机顺序,就不可能实现这个要求,需要有良好的性能,每个项目应该有相同的机会被选中。我相信你应该重新设计你的应用程序的工作方式。

一种可能的解决方法是在表格中添加几列,并用随机数填充它们。当用户请求列表时,将随机列分配给他(例如,将其粘贴在URL中)。然后按该列执行订单并显示结果。随机切换4-5列以创建随机性的外观。每天更新一次列中的随机数。