如何使用Linq中的查询语法来返回随机记录

本文关键字:返回 随机 记录 语法 查询 何使用 Linq | 更新日期: 2023-09-27 18:06:44

如何使用Linq中的查询语法来返回随机记录?

类似于以下tsql语句:

select top 10 * from sometable ORDER BY NewID()

如何使用Linq中的查询语法来返回随机记录

这应该是等价的:

var query =
    (from s in sometable      
    orderby Guid.NewGuid()    //Ordering by Guid.NewGuid() is the same as newid()
    select s)
    .Take(10);                //This cannot be done in query syntax.

您可以将Guid.NewGuid()与linq 一起使用

var results = db.sometable.OrderBy(r => Guid.NewGuid()).Take(10);

或在查询语法中:

var results = (from s in sometable orderby Guid.NewGuid() select s).Take(10);