我有一大堆的記錄是隨機排序,像這樣:尋呼在LINQ + MVC使用隨機有序集合
var entries = DataContext.Entries.OrderBy(e => Random());
隨機函數返回一個隨機生成的GUID,因此訂購的記錄隨機的方式。現在我的問題是分頁。在MVC中,我對輸入控制器列出的條目列表動作:
public class EntryController : Controller
{
public ActionResult List(int page)
{
int pageSize = 10;
var entries = DataContext.Entries.OrderBy(e => Random()).Skip((page - 1) * pageSize).Take(pageSize);
ViewData["entries"] = entries;
return View();
}
}
我在這裏的問題是,每當我從一個頁面轉到另一個頁面,條目重新排列詞系統。因此,當我進入第1頁(第1步),然後轉到第2頁(第2步),然後回到第1頁(第3步)時,步驟1中顯示的條目與步驟3中顯示的條目不同。我絕對需要在第一時間隨機安排記錄,但不會在隨後的查找中查找。
關於如何最好地解決此問題的任何想法?
爲什麼你命令他們什麼特別的原因隨機? – JanR 2014-09-01 07:34:06
@JanR我需要顯示在頁面上隨機顯示的產品列表。 – Rameshwar 2014-09-01 07:39:54
如此緩存產品清單?隨機訂購併從那裏抓取?如果你重新排序每一頁,你將永遠無法分頁,你將需要重新考慮你的設計。 – JanR 2014-09-01 07:51:41