C# 在控制器中随机选择一条记录
使用ASP.NETMVC3与C 如何从数据库中选择一条随机记录 这就是我现在的代码C# 在控制器中随机选择一条记录,c#,asp.net,asp.net-mvc,linq,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc,Linq,Asp.net Mvc 3,使用ASP.NETMVC3与C 如何从数据库中选择一条随机记录 这就是我现在的代码 CJAd cjad = db.CJAds.Single(c => c.category_id == 1 && c.ad_active == true); Im在移动设备上,因此无法检查。这应该行得通 CJAd cjad = db.CJADs.Where(c => c.category_id == 1 && c.ad_active).OrderBy(c => Gu
CJAd cjad = db.CJAds.Single(c => c.category_id == 1 && c.ad_active == true);
Im在移动设备上,因此无法检查。这应该行得通
CJAd cjad = db.CJADs.Where(c => c.category_id == 1 && c.ad_active).OrderBy(c => Guid.NewGuid()).FirstOrDefault();
您喜欢现在的代码,因为?。您不需要执行&&c.ad_active==true,只要&&c.ad_active就足够了。这看起来不错,在Visual Studio中不会出错,但会抛出此错误系统。NotSupportedException:方法“Skip”仅支持LINQ to Entities中的排序输入。方法“OrderBy”必须在方法“Skip”之前调用。您没有说明正在使用哪个框架。但是在本例中,在跳过之前添加一些排序OrderBy。我可以在这里帮助您,因为我不知道您的表。我认为这无法在数据库上进行评估,并将导致完整的表加载和内存排序。
CJAd cjad = db.CJADs.Where(c => c.category_id == 1 && c.ad_active).OrderBy(c => Guid.NewGuid()).FirstOrDefault();