Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在控制器中随机选择一条记录_C#_Asp.net_Asp.net Mvc_Linq_Asp.net Mvc 3 - Fatal编程技术网

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

使用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 => 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();