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);
SQLse genera. Amounten 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 floaty doubleen 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 .
Whereno volveríanullsi no encontrara ningún registro, devolvería una lista de cero elementos. ¿Cual es la excepción?