我有一个包含8到9条记录的SQL表,其中包含我的主页的背景配置。
我希望每次刷新页面时随机选择其中一个,我想在控制器中使用Lambda表达式。类似的东西:
var myRandomSelect = db.MyBackgrounds.Random();
这显然不起作用,但我无法搞清楚。
任何帮助?
答案 0 :(得分:1)
您可以编写一种扩展方法:
public static T GetRandom(this IList<T> source)
{
var rnd = new Random(DateTime.Now.Millisecond);
return source.Skip(rnd.Next(0, source.Count())).First();
}
像
一样使用它 var myRandomSelect = db.MyBackgrounds.GetRandom();
答案 1 :(得分:0)
假设您正在使用EF
var random = db.MyBackgrounds
.OrderBy(c => Guid.NewGuid())
.FirstOrDefault();