如何有效地从IQueryable检索随机元素列表?

抢夺

我看过以下内容:

LINQ SQL中List <T>的随机元素

我现在正在做的-为了获得三个随机元素-以下内容:

var user1 = users.ElementAt( rand.Next( users.Count() ) );
var user2 = users.Where(u => !u.Equals(user1)).ElementAt( rand.Next( users.Count() ) );
var user3 = users.Where(u => !u.Equals(user1) && !u.Equals(user2)).ElementAt( rand.Next( users.Count() ) );

但这显然是不灵活且效率低下的。一次访问数据库,如何优雅而有效地做到这一点?

编辑:根据以下答案,我做了以下扩展方法:

    public static IQueryable<T> SelectRandom<T>(this IQueryable<T> list, int count) {
        return list.OrderBy(_ => Guid.NewGuid()).Take(count);
    }    

    var result = users.SelectRandom(3);

但是,对于大型数据集而言,这似乎效率不高。另一种建议是采用.Count()IQueryable的方法,选择该结果内的n个随机数,然后使用所选的随机索引向数据库查询...但是Count()这里可能会很昂贵。

马丁·布斯

以下应该工作:

users.OrderBy(_ => Guid.NewGuid()).Take(3)

这将从用户表中检索前3个元素,同时按每次不同的值对它们进行排序。

与AD.Net的答案相比。好吧,您需要随机生成的用户ID列表。.它不建议这样做的方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何有效地从IQueryable检索随机元素列表?

来自分类Dev

有效地从列表中选择N个随机元素(无需toArray并更改列表)

来自分类Dev

如何从scala枚举中有效地选择随机元素?

来自分类Dev

如何在索引之间有效地随机化多个数组元素?

来自分类Dev

Angular:如何有效地检索数据

来自分类Dev

如何有效地随机播放位?

来自分类Dev

如何有效地进行多次随机试验?

来自分类Dev

如何在R中有效地附加列表的所有元素

来自分类Dev

如何有效地从numpy数组中提取由其索引给出的元素列表?

来自分类Dev

python如何有效地循环通过列表中的几个元素

来自分类Dev

如果这些是向量,如何有效地检查 R 列表元素的身份?

来自分类Dev

如何有效地在地图中插入元素?

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何有效地搜索列表中的项目?

来自分类Dev

如何有效地存储和检索列表中数据处理期间使用的参数/参数

来自分类Dev

如果python中的每个列表中都存在一个元素,如何有效地串联列表

来自分类Dev

如何有效地语法

来自分类Dev

如何有效地从所有组合中随机选择多个组合

来自分类Dev

有效地存储和检索喜欢

来自分类Dev

Laravel:有效地检索多态属性

来自分类Dev

从多元正态分布有效地随机抽取

来自分类Dev

有效地生成不同的随机数

来自分类Dev

如何使用python中的列表有效地排序列表列表

来自分类Dev

如何有效地检索连根拔起的轨道?

来自分类Dev

如何有效地检索groupby对象作为pd.Series的函数

来自分类Dev

如何有效地从php的mysql列中检索值?

来自分类Dev

如何在 Django Reversions 中的给定时间有效地检索属性的值?

来自分类Dev

如何有效地在bash中生成大的,均匀分布的随机整数?

来自分类Dev

如何有效地随机选择数组项而不重复?

Related 相关文章

  1. 1

    如何有效地从IQueryable检索随机元素列表?

  2. 2

    有效地从列表中选择N个随机元素(无需toArray并更改列表)

  3. 3

    如何从scala枚举中有效地选择随机元素?

  4. 4

    如何在索引之间有效地随机化多个数组元素?

  5. 5

    Angular:如何有效地检索数据

  6. 6

    如何有效地随机播放位?

  7. 7

    如何有效地进行多次随机试验?

  8. 8

    如何在R中有效地附加列表的所有元素

  9. 9

    如何有效地从numpy数组中提取由其索引给出的元素列表?

  10. 10

    python如何有效地循环通过列表中的几个元素

  11. 11

    如果这些是向量,如何有效地检查 R 列表元素的身份?

  12. 12

    如何有效地在地图中插入元素?

  13. 13

    如何有效地搜索列表中的项目?

  14. 14

    如何有效地搜索列表中的项目?

  15. 15

    如何有效地存储和检索列表中数据处理期间使用的参数/参数

  16. 16

    如果python中的每个列表中都存在一个元素,如何有效地串联列表

  17. 17

    如何有效地语法

  18. 18

    如何有效地从所有组合中随机选择多个组合

  19. 19

    有效地存储和检索喜欢

  20. 20

    Laravel:有效地检索多态属性

  21. 21

    从多元正态分布有效地随机抽取

  22. 22

    有效地生成不同的随机数

  23. 23

    如何使用python中的列表有效地排序列表列表

  24. 24

    如何有效地检索连根拔起的轨道?

  25. 25

    如何有效地检索groupby对象作为pd.Series的函数

  26. 26

    如何有效地从php的mysql列中检索值?

  27. 27

    如何在 Django Reversions 中的给定时间有效地检索属性的值?

  28. 28

    如何有效地在bash中生成大的,均匀分布的随机整数?

  29. 29

    如何有效地随机选择数组项而不重复?

热门标签

归档