7

我已经阅读了一个类似查询的多个答案,但似乎没有一个能达到目的。

想象一下,我有一个包含 10 行的表,如何使用 Entity Framework 从该表中检索 3 个随机行?不只是 1 个随机行,而是 3 个随机行——每一个都不同?

提前致谢

4

2 回答 2

20
var threeRandomFoos = foos.OrderBy(x => Guid.NewGuid()).Take(3);
于 2012-07-15T19:24:48.393 回答
8

相反,有一种更简单的方法,

var threeRandomFoos = foos.OrderBy( x=> SqlFunctions.Rand()).Take(3);

Guid.NewGuid 性能会慢一点,为什么不使用 SqlFunctions 本身指定的 Random 呢?

于 2013-09-27T13:14:13.030 回答