2009-02-26 14 views
1

LINQ'da ebeveyn çocuk istismarı kullanırken TÜM operatörün en iyi şekilde kullanılmasını sağlayan bir örnek görmek istiyorum. Bana bir tane gösterir misin lütfen?Tüm operatörü Kullanma

+0

Sorunuzu tekrarlayın (sipariş verdiğiniz müşteriler) - no; ctx.Cust içinde cust.Orders.Any() 'nin cust; –

cevap

1

All() uzantı yöntemi, tüm öğelere karşı bir yüklemi denetler; Örneğin yürütme için:

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

bir sorgu içinde

(kontrol tüm hatlar kapalı ve böylece, sipariş kapatır):

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

Sipariş veren tüm Müşterileri seçen bir davayı nasıl ele alırdım? Bu, 'Tümü' için iyi bir aday mı? – Viks

+0

no; ctx.Cust içinde cust.Orders.Any() 'nin cust; –

0

Ebeveynleri, tüm çocuklarının aktif olup olmadığı ile birlikte almak istiyorsanız.

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))