linqのフィルターを使用してランダムな行を効率的にSQLに選択します
メソッド1:ユーザー定義関数(UDF)のシミュレーション このアプローチは、データコンテキスト内でカスタム関数を活用してランダムなGUIDを生成し、行の注文を効果的にランダム化します。データコンテキストの部分クラス定義でダミーUDF:
を定義するには、UDFを模倣するメソッドを追加します。
partial class MyDataContext { [Function(Name = "NEWID", IsComposable = true)] public Guid Random() { throw new NotImplementedException(); } }
var cust = (from row in ctx.Customers where row.IsActive // Your filter condition orderby ctx.Random() select row).FirstOrDefault();
カウントフィルタリングされた行:
var qry = from row in ctx.Customers where row.IsActive select row;
int count = qry.Count(); // First database round trip
int index = new Random().Next(count);
以上がLINQ to SQL でフィルターを使用してランダムな行を効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。