我已经阅读了类似查询的多个答案,但似乎都没有找到。
想象一下,我有一个包含10行的表,如何使用Entity Framework从该表中检索3个随机行?不只是1个随机行,而是3个随机行 - 每个行都不同?
提前致谢
答案 0 :(得分:18)
var threeRandomFoos = foos.OrderBy(x => Guid.NewGuid()).Take(3);
答案 1 :(得分:8)
相反,有一种更简单的方法,
var threeRandomFoos = foos.OrderBy( x=> SqlFunctions.Rand()).Take(3);
Guid.NewGuid的性能会慢一些,为什么不使用SqlFunctions本身指定的Random?