В основном, когда я делаю следующий запрос, если не было найдено ни одного потенциального клиента, следующий запрос вызывает исключение. В этом случае я бы предпочел, чтобы сумма равнялась 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
если он не нашел каких - либо записей, она возвращает список нулевых элементов. Что является исключением?