如何使用Linq的查询语法返回随机记录?
类似于以下tsql语句:
select top 10 * from sometable ORDER BY NewID()
答案 0 :(得分:2)
这应该是等价的:
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.
答案 1 :(得分:1)
您可以将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);