multiple fields columns column c# linq nhibernate sum iqueryable

fields - linq sum group by c#



No obtiene excepción cuando la colección está vacía con el método Sum y Nhibernate (1)

Necesita convertir Value en un tipo que admite nulos.

Por ejemplo, suponiendo que Value es una propiedad int :

var result = MyQueryable() .Where(x => x.IsDone) .Select(x => (int?)x.Value) .Sum() ?? 0;

Como una Sum() en un enumerable que se puede anular arrojará nulo para una fuente vacía, el operador de coalescencia ( ?? ) se ocupará de devolver 0 cuando eso suceda.

Tengo un IQueryable con NHibernate y me gustaría tener una consulta de linq para sumar una columna específica, pero cuando mi condición en el método Where me da un resultado vacío, no quiero obtener una excepción, pero no me gustaría golpear. una consulta para obtener todos los registros y después de que se suman en la memoria, me gustaría algo como el comando coalese sql, para la muestra:

// I get exception when its empty var query = MyQueryable() .Where(x => x.IsDone) .Select(x => x.Value) .Sum();

Tengo que hacer algo como esto:

// I get 0, its ok, but ToList(), list all records on memory, // I just want to get a single value var query = MyQueryable() .Where(x => x.IsDone) .Select(x => x.Value) .ToList() .Sum();

¿Hay alguna manera?

Gracias.