使用Linq选择N个随机记录

时间:2010-12-17 19:26:59

标签: linq-to-sql

我有一个包含20多条记录的静态表,我想以随机的方式从该表中选择N(N <20)。使用LINQ在代码中执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:95)

这是最好的方式:

var randomUsers = users.OrderBy(x => Guid.NewGuid()).Take(15);

答案 1 :(得分:3)

也许这样的事情会起作用:

int randomSkip;
int randomTake;

randomSkip = GenerateSomeAppropriateRandomNumber();
randomTake = GenerateSomeAppropriateRandomNumber();

resultSet = iEnumerable.Skip(randomSkip).Take(randomTake);