2009-02-26 14 views
1

LINQで親子関係を使用するときに、ALL演算子を最大限に活用する例を見ていきたいと思います。あなたは私に1つを教えてもらえますか?All演算子を使用する

+0

ご質問(ご注文のお客様) - いいえ。つまり、ctx.Customersのcust.Orders.Any()はcustを選択します。 –

答えて

1

All()拡張メソッドは、すべての項目に対して述語をチェックします。例えば、実行時:

if(order.Lines.All(l=>l.IsClosed)) order.Close(); 

(小切手すべてのラインが閉鎖され、もしそうであれば、順番を閉じて)、クエリ内の

:ここ

var qry = from order in ctx.Orders 
     where order.CustomerId = id 
     select new { 
      order.OrderId, 
      IsShipped = order.Lines.All(l => l.IsShipped) 
     }; 
+0

注文するすべての顧客を選択するケースをどうすれば処理できますか?これは「すべて」の候補ですか? – Viks

+0

いいえ。つまり、ctx.Customersのcust.Orders.Any()はcustを選択します。 –

0

親をすべての子がアクティブであるかどうかと一緒に知りたい場合。

0
IEnumerable<CD> goodCDs = CDs 
    .Where(cd => cd.Songs.All(song => song.Rating > 6))