在ASP.NET MVC中使用LAMBDA表达式选择随机记录

时间:2014-10-25 19:05:15

标签: asp.net-mvc lambda

我有一个包含8到9条记录的SQL表,其中包含我的主页的背景配置。

我希望每次刷新页面时随机选择其中一个,我想在控制器中使用Lambda表达式。类似的东西:

var myRandomSelect = db.MyBackgrounds.Random();

这显然不起作用,但我无法搞清楚。

任何帮助?

2 个答案:

答案 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();