一尘不染

EF代码优先:如何获取随机行

c#

如何建立查询以检索随机行?

如果我要用SQL编写它,那么我将对newid()进行排序,并从顶部砍掉n行。无论如何要先在EF代码中执行此操作?

我尝试创建使用newid()的查询并使用DbSet.SqlQuery()执行它。虽然有效,但并不是最干净的解决方案。

另外,尝试检索所有行并按新的guid对其进行排序。尽管行数很小,但仍然不是一个好的解决方案。

有任何想法吗?


阅读 279

收藏
2020-05-19

共1个答案

一尘不染

只需致电:

something.OrderBy(r => Guid.NewGuid()).Take(5)
2020-05-19