2009-02-26 55 views
1

我想看看使用LINQ一個父子reltaionship時,使所有運營商的物盡其用的例子。你能告訴我一個嗎?利用所有運營商

+0

回覆您的問題(客戶訂單) - 無;這將是任何 - 即,從在ctx.Customers CUST其中cust.Orders.Any()選擇CUST; – 2009-02-26 09:43:57

回答

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 2009-02-26 09:02:40

0

如果你想獲得父母的所有兒童是否處於活動狀態一起。

from p in MyContext.Parents 
select new 
{ 
    p, 
    ChildrensActive = p.Childrens.All(c=> c.IsActive) 
} 
0
IEnumerable<CD> goodCDs = CDs 
    .Where(cd => cd.Songs.All(song => song.Rating > 6))