2つのテーブルがあります。 Categories
およびAds
。LINQ左外部結合法を使用してグループと外部結合を行います。
すべてCategory
は、Ads
テーブルに多数の広告を持つことができます。
それぞれの広告の数など、すべてのカテゴリの詳細が必要です。蓋を:後
は、それが広告を持っているカテゴリのみがbacause FirstOrDefault()
私は条件を加えただけの場所のIDを持っているカテゴリは(言わせていることを指定された結果を達成する方法を知りたいのかもしれフェッチ私のLINQの式です)が「7」である。
あなたは、次のような何かを試みることができる私の表現に
var x1 = context.Categories
.GroupJoin(
context.ads,
cat => cat.id,
ad => ad.catid,
(cat, ad) => new { cats = cat, ads = ad })
.SelectMany(
a => a.ads.DefaultIfEmpty(),
(a, y) => new { catss = a.cats, adss = y })
.GroupBy(w => w.adss,ww=>new { cat=ww.catss,count=ww.catss.ads.Count()})
.Where(s=>s.FirstOrDefault().cat.lid==7);
拡張メソッドのソリューションを探しています – Alex
@Alexが更新されました。それがあなたの必要なものかどうか私に教えてください。 – Christos
広告を持っているかどうかにかかわらず、すべてのカテゴリが必要です。広告がない場合は、カウントは0にする必要があります。 – Alex