Consulta Linq que funcionava no Visual Studio 2012 não funciona no Visual Studio 2013.

15/06/2014

0

Olá a todos,

Tenho um aplicação desenvolvida usando Visual Studio 2012 + Framework 4.5 + Entity Framework 5.0.0 + BD MySQL.

Está mesma aplicação migrei para Visual Studio 2013 + Framework 4.5.1 + Entity Framework 6.1.0 + BD MySQL.

A Aplicação funciona perfeitamente, a não ser por uma consulta Linq que é usada para gerar um relatório que parou de funcionar. Segue abaixo o código da mesma:

private void btnGerar_Click(object sender, EventArgs e)
{
string auxStatus = cbClienteStatus.Text;
if (cbClienteStatus.Text == "TODOS")
{
auxStatus = "";
}
if (cbClienteStatus.Text == "ATIVOS")
{
auxStatus = "A";
}
if (cbClienteStatus.Text == "CANCELADOS")
{
auxStatus = "I";
}
else if (cbClienteStatus.Text == "")
{
MessageBox.Show("Escolha uma opção: \n TODOS, \n ATIVOS, \n CANCELADOS.", "SigPro - Aviso do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
cbClienteStatus.Focus();
return;
}
using (var ctx = new sigproEntities())
{
var consulta = (from t in ctx.termo
where t.Empresa_Id == frmPrincipal.IDEMPRESA && t.SituacaoTermo.Contains(auxStatus)
orderby t.cliente.ClienteNome
select new
{
t.cliente.ClienteNome,
t.cliente.CpfCnpj,
t.EndInstalacao,
t.Termo_Id,
t.DtCompra,
t.DtAtivacao,
t.DtCancelamento,
t.plano.DescricaoPlano,
t.SituacaoTermo
}).ToList();
ctx.Dispose();
Reports.stiRelatorioTermoAdesaoStatus report = new Reports.stiRelatorioTermoAdesaoStatus();
report.RegBusinessObject("SigPro", "Termo", consulta);
report.Dictionary.SynchronizeBusinessObjects(2);
report.Show();
}
}

No Visual Studio 2012 funciona perfeitamente, só que no Visual Studio 2013 me retorna o seguinte erro:

Bom nesta consulta ele retorna 3 campos DateTime: DtCompra, DtAtivacao, DtCancelamento, sendo que DtAtivacao e DtCancelamento podem ser null no banco de dados.

[img]http://arquivo.devmedia.com.br/forum/imagem/267760-20140615-101010.png[/img]
Elessandro Poças

Elessandro Poças

Responder

Posts

15/06/2014

Joel Rodrigues

Então provavelmente o campo está nulo e você tenta converter null para DateTime. Acredito que uma simples verificação aí resolva.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar