В основному, коли я виконую наступний запит, якщо жодне відведення не відповідало, наступний запит кидає виняток. У такому випадку я вважаю за краще, щоб сума дорівнювала 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
якщо він не знайшов яких - або записів, вона повертає список нульових елементів. Який виняток?