使用LINQtoSQL获取随机行

Dra*_*cir 3 .net linq linq-to-sql

有没有办法使用LINQToSQL从表中返回一个随机行?

Den*_*ler 6

是的,在表的计数范围内生成一个随机数,并跳过该数字,Take(1)然后返回结果序列的第一个元素.就像是

var R = new Random();
var ToSkip = R.Next(0, ctx.Customers.Count);

return ctx.Customers.Skip(ToSkip).Take(1).First();
Run Code Online (Sandbox Code Playgroud)

但它有点难看.是否有实际要求要求在SQL表中获取随机行?