首先,你可以看看这篇文章,它似乎有一种方法可以实现你的目标:
http://weblogs.asp.net/fmarguerie/archive/2008/01/10/randomizing-linq-to-sql-queries.aspx
让我们详细介绍一下使用
SQL用户定义函数。最
使用NEWID SQL Server函数。
这就是这个解决方案所使用的。
首先,创建以下视图:
创建视图随机视图作为选择
使用视图的以下函数:
作为开始返回的唯一标识符
(从随机视图中选择ID)结束
视图是必需的,因为它不是
标量函数。
然后可以映射GetNewId
使用LINQ的用户定义函数
第八章详细介绍。
就这样!你现在可以写LINQ了
和往常一样。这里有一个例子
var tool=db.Tools.OrderBy(t=>
db.GetNewId()).First()
下面是另一个使用
GetNewId可对结果进行随机排序:
var tools=数据库中的from tool.tools
orderby db.GetNewId()选择
工具名称;
Random row from Linq to Sql