Básicamente, cuando hago la siguiente consulta, si no se encontraron coincidencias, la siguiente consulta arroja una excepción. En ese caso, preferiría que la suma igualara 0 en lugar de que se lanzara una excepción. ¿Sería esto posible en la consulta en sí misma, quiero decir, en lugar de almacenar la consulta y verificar 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
se genera. Amount
en realidad no lo es null
, es realmente un problema en torno a cómo maneja los resultados cero. Echa un vistazo a la respuesta que se proporcionó.
decimal
, su código debe usar decimal
. ¡Olvídate de que alguna vez conociste float
y double
en tu carrera de programación hasta el día en que alguien te dice que los uses, para estadísticas o luminancia estelar o los resultados de un proceso estocástico o carga de un electrón! Hasta entonces, lo estás haciendo mal .
Where
no volveríanull
si no encontrara ningún registro, devolvería una lista de cero elementos. ¿Cual es la excepción?