無限スクロールの Web ページがあります。このスクロールにランダムなレコードを供給しています (そのために使用order by newid()
しています)。スクロールが最後に達したときに、ページに新しいランダム データを追加する ajax 呼び出しがあります。明らかに、このアプローチでは重複したレコードを取得しています。ここに私の質問があります: レコードの重複を避ける方法はありますか? すでにページにロードされているレコードをどこかに保存して、選択から除外する必要がありますか? または、ランダムなレコードを含む巨大なレコードセットを選択し、それをメモリに保持してから、このレコードセットのチャンクをページにフィードする必要がありますか? ランダムな無限スクロールを行う正しい方法は何ですか? 前もって感謝します!
編集
要求されたコード:
データ提供者:
res = data.OrderBy(l => Guid.NewGuid()).Take(numberOfRecords);
クライアント:
$.get("/Start/Index/", function (data) {
if (data != '') {
isLoading = false;
$("#tiles").append(data);});
サーバ:
model.PageData = _dataProvider.GetOnePage(recordsPerPage);
return PartialView("_MyView", model.PageData);