ランダムレコードを返すためにLinqのクエリ構文を使用するにはどうすればよいですか?
次の tsql ステートメントのようなもの:
select top 10 * from sometable ORDER BY NewID()
これは同等である必要があります。
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);