Principales respuestas
Error de conversión al tipo de valor 'Int32' porque el valor materializado es NULL

Pregunta
-
BUENOS DIAS
Tengo la siguiente consulta, la cual me funciona bien para una parte del programa pero en otra parte esta me esta arrojando un error, que es el siguiente:
"Error de conversión al tipo de valor 'Int32' porque el valor materializado es NULL. El parámetro genérico del tipo de resultado o la consulta deben usar un tipo que admite valores NULL."
la consulta que hago es esta
//inicializo
v3=0;
ve3 = (from ev in bd.ParticipanteEvento where ev.IdEvento == ie && ev.EscarapelaImpresa==true && ev.PresenteEvento==true select ev.NumImpresionesEscarapela).Sum();
lo extraño es que para ciertos tipos de evento me funciona y hay uno en especial que me arroja este error.
obviamente no puedo asignar null a v3 para inicializar, no se como resolverlo por el momento, porque si pongo .count() al final me sale bien pero no es el numero que necesito.
Les agradezco la ayuda
Respuestas
-
>>obviamente no puedo asignar null a v3 para inicializar,
si lo defines como
int? v3 = null;
podrias asignar nulo, pero veras alli que uso el "?" para indicar que esa variable es nulable
lo que no veo es donde usas ese "v3" en el linq
---
que pasa si usas
var ve3 = from ev in bd.ParticipanteEvento
where ev.IdEvento == ie && ev.EscarapelaImpresa==true && ev.PresenteEvento==true
select ev.NumImpresionesEscarapela;
if(ve3.Count() > 0){
int suma = ve3.Sum();
}
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta GatoAcosta viernes, 19 de diciembre de 2014 16:08
Todas las respuestas
-
>>obviamente no puedo asignar null a v3 para inicializar,
si lo defines como
int? v3 = null;
podrias asignar nulo, pero veras alli que uso el "?" para indicar que esa variable es nulable
lo que no veo es donde usas ese "v3" en el linq
---
que pasa si usas
var ve3 = from ev in bd.ParticipanteEvento
where ev.IdEvento == ie && ev.EscarapelaImpresa==true && ev.PresenteEvento==true
select ev.NumImpresionesEscarapela;
if(ve3.Count() > 0){
int suma = ve3.Sum();
}
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta GatoAcosta viernes, 19 de diciembre de 2014 16:08
-
FULL RESPUESTA....ACLARO QUE CON EL INT?V3 NO FUNCIONA PORQUE NO ESTA DENTRO DE LA CONSULTA SI NO QUE ES LA VARIABLE QUE RECIBE EL RESULTADO, PERO TU RECOMENDACION FUE ACERTADA QUE PENA MOLESTAR CON ESTA TRIVIALIDAD, PERO APENAS ME INICIO EN MVC, NO CONOZCO MUCHAS REGLAS. MUCHAS GRACIAS