मैं एक उत्पादों तालिका इस तरह है: -क्या मुझे LINQ में ऑर्डरबैडस्केंडिंग का उपयोग करना चाहिए?
ProductID ProductName Price
1 Milk 10
2 Banana 20
3 Apple 15
1 Grapes 12
2 Banana 25
1 Milk 8
मैं उत्पादों जो एक productId का अधिकतम कीमत है खोजना चाहते हैं।
नमूना आउटपुट: -
ProductID ProductName Price
1 Grapes 12
2 Banana 25
3 Apple 15
मैं इस क्वेरी की कोशिश की है: -
List<Product> groups = products
.GroupBy(p => p.ProductId)
.Select(p => new Product
{
ProductId = p.Key,
Name = p.OrderByDescending(o => o.Price).First().Name,
Price = p.OrderByDescending(o => o.Price).First().Price,
})
.ToList();
इस क्वेरी ठीक काम कर रहा है, लेकिन मेरे सवाल का मैं OrderByDescending
दो बार का उपयोग करना चाहिए है? मेरा मतलब है क्योंकि मैं सिर्फ 1 संपत्ति के आधार पर एक आइटम चाहता हूं और मान लीजिए कि कई अन्य गुण हैं, तो क्या मुझे बार-बार एक ही तर्क का उपयोग करने की आवश्यकता है?
संपादित करें: क्षमा करें मुझे उल्लेख करना भूल गया, कृपया मान लें कि उत्पाद नाम अलग हो सकता है, कृपया अपडेट की गई तालिकाएं जांचें।
क्या यह वही उत्पाद नाम लौटाएगा जो कीमत हम उठा रहे हैं? –
@CodeCaster: उत्तर के लिए धन्यवाद, लेकिन अगर उत्पाद नाम अलग हैं तो क्या होगा? मैंने अपना प्रश्न अपडेट किया है। – Coder23
@ कोडर और मैंने पहले ही अपना जवाब अपडेट कर लिया था, दूसरा कोड ब्लॉक देखें। – CodeCaster