Linq to Entities を使用して、注文が存在しないカテゴリを見つけようとしています。
TABLE Customer TABLE Order
------------------ ----------------
CustId Category OrderId FKCustId
1 2 1 1
2 2
3 3
これは、典型的な 1 対多の顧客/注文関係です。このデータを考えると、カテゴリ 3 だけに注文が関連付けられていないため、カテゴリ 3 を唯一のアイテムとして結果セットを生成したいと考えています。これは書くのが簡単なクエリでなければなりませんが、私はそれを理解することができませんでした. 私はたくさんの異なる角度を試しました。これはうまくいかなかったものです:
var dtos = ctx.Customers
.GroupBy(c => c.Category)
.Where(c => !c.Any(c2 => !c2.Orders.Any()))
.Select(c => c.Key);
これを試してみたところ、注文がないカテゴリは返されませんでしたが、注文のあるカテゴリが返されました。
助けてくれてありがとう!ロジャー