linqに条件付きフィルタリングを備えたランダムな行の検索 LINQからSQLを使用して特定の基準を満たすランダムデータベース行を取得する必要がありますか? これは、特定のレコードが重要ではない場合に特に役立ちますが、それに関連する条件はそうです。 たとえば、ランダムなアクティブな顧客を選択します。
最も効果的な方法には、データベース内の「ダミー」ユーザー定義関数(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();
OrderBy
ctx.Random()
パフォーマンスに関する重要なメモ:NEWID()
row.IsActive
特定の行を取得するには、
および以上がLINQ to SQLを使用して特定の基準を満たすランダムな行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。