ASP.NET MVC - 如何从模型中获取随机记录?
我不知道是否有一种简单的方法可以做到这一点,但基本上我想做的是:
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]
我想就是这样:)
非常感谢
I don't know if there is an easy way to do it but basically what I would like to do is:
var highlights = db.Banners.Where(h => h.Category == "highlight").ToList().GetRange(0,4);
I have this model Banners where I have some highlights but I would like to retrieve just 4 random highlights each time in different order.
So the code I'm using just retrieve a range from [0..4] highlights and if you have less than 4, it returns an error, and they are not randomised.
Any ideas on how could I do it easily?
The result I would like to have is a List<
Banner>
to pass it to the view but each time with different order like:
[1,3,4,2] || [2,1,4,3] || [12,32,15,3]
I think that's it :)
Thanks a lot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要随机化横幅并获得前四个或更少,您可以这样做:
To randomize banners and get first four or less you could do this:
这里是 codeproject 上的随机 LINQ 采样示例
Here is an example of Random LINQ sampling on codeproject