LINQ क्वेरी से अधिकतम मान प्राप्त करने का सबसे अच्छा तरीका क्या है जो बिना पंक्तियों के वापस आ सकता है? अगर मैं बस करूँ
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
जब क्वेरी बिना पंक्तियों के वापस आती है तो मुझे एक त्रुटि मिलती है। मैं कर सकता था
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
लेकिन वह इस तरह के एक साधारण अनुरोध के लिए थोड़ा मोटा महसूस करता है। क्या मुझे इसे करने का एक बेहतर तरीका याद आ रहा है?
अद्यतन: यहाँ पीछे की कहानी है: मैं एक बच्चे की मेज (विरासत प्रणाली से अगली पात्रता काउंटर को पुनः प्राप्त करने की कोशिश कर रहा हूं, मुझे शुरू मत करो ...)। प्रत्येक रोगी के लिए पहली पात्रता पंक्ति हमेशा 1 है, दूसरी 2 है, आदि (जाहिर है कि यह बच्चे की मेज की प्राथमिक कुंजी नहीं है)। इसलिए, मैं एक मरीज के लिए अधिकतम मौजूदा काउंटर मान का चयन कर रहा हूं, और फिर एक नई पंक्ति बनाने के लिए इसमें 1 जोड़ रहा हूं। जब कोई मौजूदा बाल मूल्य नहीं हैं, तो मुझे 0 वापस करने के लिए क्वेरी की आवश्यकता है (इसलिए 1 को जोड़ने से मुझे 1 का काउंटर मान मिलेगा)। ध्यान दें कि मैं बच्चे की पंक्तियों की कच्ची गिनती पर भरोसा नहीं करना चाहता, यदि विरासत ऐप काउंटर मूल्यों (संभव) में अंतराल का परिचय देता है। प्रश्न को भी सामान्य बनाने की कोशिश करने के लिए मेरा बुरा।