2011-05-28 11 views
6

मैं गतिशील एक प्रश्न के निर्माण कर रहा हूँ इस के साथ शुरू होता है रेटिंग तालिका में अभी तक, इसलिए मेरा मानना ​​है कि यह उस डेटा पर औसत करने की कोशिश कर रहा है जो मौजूद नहीं है। अंत में DefaultOrEmpty() का उपयोग करने से कोई प्रभाव नहीं पड़ता है। इस पर कोई सुझाव कैसे मैं इसे ठीक करूँगा?LINQ कुल अनुक्रम कोई तत्व

उत्तर

7
items = items.Where(x=>x.Ratings.Any()). 
      OrderBy(x => x.Ratings.Average(t => t.score)). 
      ThenBy(x => x.title); 

कोशिश करें।

+0

मैं सचमुच की कोशिश की है कि यहाँ की जाँच से पहले। जब मैं इसे अनुमति देता हूं तो मैं 5 मिनट में आपका उत्तर स्वीकार करूंगा। –

+0

धन्यवाद और अच्छी तरह से किया। –

+2

निक और एडी.Net एक ही व्यक्ति हैं!/प्रतिष्ठासंचार सिद्धांत – vbullinger

13

आप इस प्रपत्र का उपयोग कर रहे हैं:

var effectiveFloor = 
    policies 
    .Where(p => p.PricingStrategy == PricingStrategy.EstablishFloor) 
    .Max(p => p.Amount); 

तो समाधान है:

var effectiveFloor = 
    policies 
    .Where(p => p.PricingStrategy == PricingStrategy.EstablishFloor) 
    .DefaultIfEmpty() 
    .Max(p => p==null ? 0 : p.Amount); 

मिले here

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