あなたが求めているものを行うための方法を持っているように見えます。この記事を見てみることができ起動するには:http://weblogs.asp.net/fmarguerie/archive/2008/01/10/randomizing-linq-to-sql-queries.aspx
レッツ・詳細 SQLユーザーを使用するソリューションを定義された関数。ほとんどの レコードをランダムに並べ替える一般的な方法は で、NEWID SQL Server関数を使用します。 これはこのソリューションが使用するものです。
まず、次のビューを作成します。
はVIEW RandomView AS SELECT NEWIDを(CREATE)IDが次にビューを使用しています 次の関数を作成するとする:
(FUNCTION GetNewIdをCREATE)はAS UNIQUEIDENTIFIERをRETURNS RETURN をBEGIN可能 直接スカラーFのNEWIDを使用することはないので、ビューが必要とされる
END(RandomViewからIDを選択)統一。
次に、GetNewId ユーザー定義関数をLINQを使用して SQLの関数属性にマップできます。繰り返しますが、詳細は の第8章を参照してください。
これだけです!通常どおりLINQ クエリを書くことができます。ここで、ランダムなオブジェクト選択する例 ある:
VARツール= db.Tools.OrderBy(T => db.GetNewId())まず()ここで
はGetNewIdを使用する別の例です。ランダムに結果をソートするに:db.Toolsでツールから
VARツール=
orderbyのdb.GetNewId() tool.Nameを選択します。
この記事はSOでもあります:Random row from Linq to Sql