我不知道是否有一种简单的方法可以做到,但基本上我想做的是:

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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top