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]
我认为就是这样:))
非常感谢
解决方案
此处是codeproject上的随机LINQ采样示例
其他提示
要随机化横幅并获得前四个或更少,你可以这样做:
Random r = new Random(DateTime.Now.Ticks);
var highlights = db.Banners.Where(h => h.Category == "highlight").
OrderBy(h => r.Next()).Take(4)
不隶属于 StackOverflow