ASP.NET MVC-モデルからランダムレコードを取得する方法
-
08-07-2019 - |
質問
簡単な方法があるかどうかわかりませんが、基本的に私がやりたいことは次のとおりです:
var highlights = db.Banners.Where(h => h.Category == "highlight").ToList().GetRange(0,4);
このモデルにはいくつかのハイライトがあるバナーがありますが、毎回異なる順序でランダムなハイライトを4つだけ取得したいです。
したがって、使用しているコードは[0..4]の範囲をハイライトし、4未満の場合はエラーを返し、ランダム化されません。
どうすれば簡単にできるだろうか?
結果は、ビューに渡す List <
Banner >
ですが、毎回異なる注文の例:
[1,3,4,2] || [2,1,4,3] || [12,32,15,3]
それだと思います:)
どうもありがとう
解決
こちらは、コードプロジェクトでのランダムLINQサンプリングの例です
>他のヒント
バナーをランダム化し、最初の4つ以下にするには、次のようにします。
Random r = new Random(DateTime.Now.Ticks);
var highlights = db.Banners.Where(h => h.Category == "highlight").
OrderBy(h => r.Next()).Take(4)
所属していません StackOverflow