2011-09-24 10 views
54

एक स्तंभ है कि पूर्णांक शामिल की अधिकतम मूल्य प्राप्त करने के लिए, मैं इकाई की रूपरेखा के साथ एक ही परिणाम प्राप्त करने के लिए यह संभव है निम्नलिखित T-SQL comandइकाई फ्रेमवर्क का उपयोग कर कॉलम का अधिकतम मूल्य कैसे प्राप्त करें?

SELECT MAX(expression) 
FROM tables 
WHERE predicates; 

उपयोग कर सकते हैं।

चलिए कहते हैं कि मैं है निम्नलिखित मॉडल

public class Person 
{ 
    public int PersonID { get; set; } 
    public int Name { get; set; } 
    public int Age { get; set; } 
} 

मैं कैसे सबसे पुराना व्यक्ति की उम्र मिलता है?

int maxAge = context.Persons.? 

उत्तर

93

इस int maxAge = context.Persons.Max(p => p.Age);

प्रयास करें और अपनी फ़ाइल

+1

महान जवाब है, धन्यवाद। –

+0

मैंने इसके साथ थोड़ा सा आधार दिया क्योंकि मैंने "सिस्टम का उपयोग कर लिया। लिंक्स;" आपको उस जानकारी को मेरे जैसे नए दोस्तों के जवाब में जोड़ने पर विचार करना चाहिए :) – RagnaRock

+1

कोई समस्या नहीं @RagnaRock – krolik

5
maxAge = Persons.Max(c => c.age) 

या उन पंक्तियों के साथ कुछ के शीर्ष पर using System.Linq; सुनिश्चित करें कि आपके।

6

या आप यह कोशिश कर सकते हैं:

(From p In context.Persons Select p Order By age Descending).FirstOrDefault 
2

में VB.Net यह

Dim maxAge As Integer = context.Persons.Max(Function(p) p.Age) 
9

होगी सूची खाली मैं एक अपवाद हो रही है। ,

int maxAge = context.Persons.Select(p => p.Age).DefaultIfEmpty(0).Max(); 
+1

यह स्वीकार्य उत्तर होना चाहिए। सर्वर के लिए केवल एक राउंड-ट्रिप और कोई अपवाद नहीं। – 9Rune5

2

हो सकता है कि मदद से आप कुछ फिल्टर जोड़ना चाहते हैं: यह समाधान इस समस्या को ध्यान में रखना होगा

context.Persons 
.Where(c => c.state == myState) 
.Select(c => c.age) 
.DefaultIfEmpty(0) 
.Max(); 
संबंधित मुद्दे