我不知道是否有一种简单的方法可以做到,但基本上我想做的是:
var highlights = db.Banners.Where(h => h.Category == "highlight").ToList().GetRange(0,4);
我有这个模型横幅,我有一些亮点,但我想每次以不同的顺序检索4个随机亮点。
所以我正在使用的代码只是从[0..4]高亮区检索一个范围,如果你有少于4,它会返回一个错误,并且它们不是随机的。
关于如何轻松完成任何想法?
我想要的结果是列表<
横幅>
将其传递给视图,但每次都有不同的顺序,如:
[1,3,4,2] || [2,1,4,3] || [12,32,15,3]
我认为就是这样:))
非常感谢
答案 0 :(得分:3)
要随机化横幅并获得前四个或更少,你可以这样做:
Random r = new Random(DateTime.Now.Ticks);
var highlights = db.Banners.Where(h => h.Category == "highlight").
OrderBy(h => r.Next()).Take(4)
答案 1 :(得分:0)
Here是codeproject上随机LINQ采样的一个例子