我需要从SQL Server数据库中检索随机行。我正在寻找一种使用LINQ查询实现此目的的方法。有可能吗?
SQL查询:SELECT [Id] FROM [MyTable] ORDER BY NEWID()
上述SQL的等效LINQ查询是什么?
提前致谢。
答案 0 :(得分:1)
为您的数据上下文类做一个部分,并输入以下方法:
partial class MyDataContext {
[Function(Name = "NEWID", IsComposable = true)]
public Guid Random()
{
return Guid.NewGuid();
}
}
现在你可以将它组成你的查询,它将被转换成对sql newid()函数的调用,如下所示:
from x in dc.MyEntities orderby dc.Random() select x.Id