在控制器中选择随机单个记录

时间:2011-12-15 00:03:13

标签: c# asp.net asp.net-mvc linq asp.net-mvc-3

将ASP.Net MVC3与C#一起使用

如何从数据库中选择单个随机记录?

这是我现在的代码

CJAd cjad = db.CJAds.Single(c => c.category_id == 1 && c.ad_active == true);

2 个答案:

答案 0 :(得分:3)

var selection = db.CJAds.Where(c => c.category_id == 1 && c.ad_active);
CJAd cjad = selection
    .OrderBy(c => c.id)
    .Skip(new Random().Next(selection.Count()))
    .First();

答案 1 :(得分:0)

我在移动设备上,因此无法检查。这应该有用。

CJAd cjad = db.CJADs.Where(c => c.category_id == 1 && c.ad_active).OrderBy(c => Guid.NewGuid()).FirstOrDefault();