【发布时间】:2016-09-07 06:29:46
【问题描述】:
我写了这个方法:
var resultVideos = (from video in db.Tbl_Videos
where channelName != "" ? video.Tbl_Categories.Tbl_Channels.Title.Equals(channelName) : true
select video)
.Where(video => categoryName != "" ? video.Tbl_Categories.Title.Equals(categoryName) : true)
.OrderBy(video => random.Next()).Take(8);
我知道提供者无法将它们转换为表达式树,所以我试试这个:
.OrderBy(video => (int)random.Next()).Take(8);
但是不行,有什么解决办法?
【问题讨论】:
-
EF 提供程序如何将任意方法调用转换为 SQL?您对此有何期待?如果您只想要随机顺序,请查看可能的重复。
-
试试
.ToList().OrderBy(video => random.Next()).Take(8);而不是.OrderBy(video => random.Next()).Take(8);。