2010-04-21 21 views
7

यदि मेरे पास निम्न मॉडल है;LINQ नेस्टेड जहां

public List<RecommendedProduct> recommendations 

फिर

public class RecommendedProduct 
    public List<Product> Products 

फिर उत्पाद;

public class Product 
    public string Code 

सिफारिशों सूची है, एक उदाहरण के रूप में, यह में 10 आइटम।

प्रत्येक सिफारिशें आइटम में दो उत्पाद हैं।

LINQ के साथ, मुझे सिफारिशें ऑब्जेक्ट्स मिल सकती हैं जिनमें "ए" और "बी" उत्पाद कोड दोनों के साथ उत्पाद हैं? अगर वहाँ है कि आंतरिक हालत से मेल अनुक्रम में किसी भी तत्व हैं

var myProducts = 
    from rp in recommendations 
    where 
     cp.Products.Any(p => p.Product.Code == "A") && 
     cp.Products.Any(p => p.Product.Code == "B") 
    select rp; 

Any रिटर्न true:

उत्तर

11

Any एक्सटेंशन का उपयोग करें। इस मामले में आप दो तत्वों की खोज कर रहे हैं, इसलिए इसमें दो Any कॉल लगते हैं।

+0

+1 शानदार! धन्यवाद @ अरोहर। – griegs

संबंधित मुद्दे