Entity framework 4 从表中获取3条随机记录

Entity framework 4 从表中获取3条随机记录,entity-framework-4,Entity Framework 4,我读过一个类似问题的多个答案,但似乎没有一个答案是正确的 假设我有一个包含10行的表,如何使用实体框架从该表中检索3个随机行?不只是1个随机行,而是3个随机行——每个都不同 提前感谢相反,有一种更简单的方法 var threeRandomFoos = foos.OrderBy(x => Guid.NewGuid()).Take(3); var threeRandomFoos = foos.OrderBy( x=> SqlFunctions.Rand()).Take(3); Gui

我读过一个类似问题的多个答案,但似乎没有一个答案是正确的

假设我有一个包含10行的表,如何使用实体框架从该表中检索3个随机行?不只是1个随机行,而是3个随机行——每个都不同


提前感谢

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

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

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

这太简单了!干杯,达林!看起来,
Rand
只计算一次,因此没有用处:我有一个sql查询,看起来像
selecttop(3)--一些列。。。FROM(选择RAND()作为[C1],--一些列…从[dbo]。[MyTable]作为[Extent1])作为[Project1]按[Project1]。[C1]ASC排序。我正在使用SQLServer2008R2。