मूल रूप से जब मैं निम्नलिखित क्वेरी करता हूं, अगर कोई लीड नहीं मिला तो निम्नलिखित क्वेरी एक अपवाद फेंकता है। उस स्थिति में, मैं एक अपवाद को फेंके जाने के बजाय 0 बराबर करना चाहता हूं। क्या यह क्वेरी में ही संभव होगा - मेरा मतलब है कि क्वेरी को संग्रहीत करने और जाँच करने के बजाय query.Any()?
double earnings = db.Leads.Where(l => l.Date.Day == date.Day
&& l.Date.Month == date.Month
&& l.Date.Year == date.Year
&& l.Property.Type == ProtectedPropertyType.Password
&& l.Property.PropertyId == PropertyId).Sum(l => l.Amount);
SQLसे उत्पन्न होता है। Amountवास्तव में नहीं है null, यह वास्तव में एक समस्या है कि यह शून्य परिणामों को कैसे संभालती है। प्रदान किए गए उत्तर पर एक नज़र डालें।
decimal, आपका कोड उपयोग करना चाहिए decimal। आप कभी भी floatऔर doubleअपने प्रोग्रामिंग करियर के बारे में तब तक जान सकते हैं जब तक कि कोई आपको आंकड़ों या स्टार ल्यूमिनेंस या एक स्टोकेस्टिक प्रक्रिया या इलेक्ट्रॉन के चार्ज के परिणामों के लिए उनका उपयोग करने के लिए न कहे! तब तक, आप इसे गलत कर रहे हैं ।
Whereवापस नहीं किया जाएगाnull, तो यह किसी भी रिकॉर्ड नहीं मिला, यह शून्य मदों की एक सूची लौट आते हैं। अपवाद क्या है?