EF で表現する方法がわからない比較的単純なクエリがあります。
SELECT BrandName,
CASE BrandName
WHEN 'LG' THEN 1
WHEN 'Samsung' THEN 2
WHEN 'Sony' THEN 3
ELSE 100
END as BrandWeight
FROM Brands
基本的に、各ブランドの「重量」を含むブランドのリストを返す必要があります-重量は実行時に定義されます(および重量のあるブランドのリスト)。
これは非常に単純化された例であることに注意してください。実際には、多くのレガシー コードを含む複雑な e コマース Web サイトがあります。最近、クライアントから、ブランドまたはその他の条件に基づいて、特定の製品を最初に表示するオプションを追加するよう依頼されました。そして、ページネーション、検索など、触れたくないロジックがたくさんあるので、その「重み」を最初の「選択」クエリに追加し、「重み」で並べ替えて、残りを行うというのが私の考えです。ロジックの。