私はこの会社のリスト(カテゴリに参加)を持っています。このリストでは、自由なテキスト入力で検索し、通常は名前/アルファベット順に結果を並べ替えます。
しかし、返された企業が特定のカテゴリにリンクされている場合 (これらのより重要なカテゴリの ID はリストにあります)、主にこれらのカテゴリの企業を上位に並べて結果を並べ替え、二次的な順序はアルファベット順にする必要があります。
この順序を追加するにはどうすればよいですか?
List<int> importantCategories = new List<int>() { 14, 99, 4428 };
var companies = (from c in context.Companies
join ct in context.Categories on c.CategoryId equals ct.CategoryId
where ct.Active == true
&& c.Name.Contains(freeTextFilter)
orderby c.Name
--- if company is from category 14, 99, 4428
then the ordering should place those above the rest
select c);
クエリから数行を取り出しましたが、結合された Categories テーブルを使用しなかった理由の質問の後に、そのうちの 1 行を追加しました。