Caros colegas,
Tenho a seguinte query LINQ:
var retList = (from S in _contexto.solicitacao
join CC in _contexto.centroCusto on S.CenCusCodigo equals CC.CenCusCodigo
//INNER JOIN
from CC2 in _contexto.centroCusto.Where(lCC2 => lCC2.CenCusCodigo == S.CenCusCodigoReq).DefaultIfEmpty() //LEFT OUTER JOIN
where ((S.SolLiberada == 1 || S.SolLiberada == 2) && S.EmpCodigo == 131
&& (_contexto.ItensSolicitacao.Where(i => i.colcodigo == null && i.SolCodigo == S.SolCodigo).Count() != 0)
&& (_contexto.ItensSolicitacao.Where(i => i.SolCodigo == S.SolCodigo).Sum(i => i.IteSolQuantidade) != 0))
orderby CC.CenCusIndice
select new
{
SolCodigo = S.SolCodigo,
SolDataEntrega = S.SolDataEntrega,
SolCodigoControle = S.SolCodigoControle,
SolLiberada = S.SolLiberada,
SolData = S.SolData,
SolObs = S.SolObs,
CenCusCodigo = CC.CenCusCodigo,
CenCusDescricao = CC.CenCusDescricao,
CenCusIndice = CC.CenCusIndice,
cencuscodigoReq = CC2.CenCusCodigo,
Cencusdescricaoreq = CC2.CenCusDescricao,
cencusindicereq = CC2.CenCusIndice,
CONT_PRODUTOS = _contexto.ItensSolicitacao.Where(i => i.colcodigo == null && i.SolCodigo == S.SolCodigo).Count()
}).ToList();
Quando executada, está me retornando a seguinte mensagem de erro
Additional information: The cast to value type 'System.Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.
Sei que se trata de um valor null sendo retornado.
Mas não estou conseguindo tratar esse problema, devido a minha pouca experiência com LINQ. Não sei se está retornando uma linha inteira nula ou se o problema está relacionado a algumas das variáveis citadas na query, pois não consegui debugá-la.
Sabem me dizer como posso resolver isso?
Agradeço a ajuda!
Att,
Buscando o conhecimento