none
Excessão com LINQ.DYNAMIC RRS feed

  • Pergunta

  • Bom dia amigos do MSDN estou inicializando um BI e achei que seria mais interessante utilizar LINQ para fazer meu acesso a dados pela praticidade e desempenho que "Acredito" ser um pouco melhor.

    Estou com um problema que está me tirando de orbita a um pouco de tempo já.

    Estou usando uma extensão do linq chamada DYNAMIC que dentre outras funcionalidades ela me da a possibilidade de criar uma string dinamicamente e passar no Where porem ao colocar o resultado em uma "VAR" está me retornando com um erro que não aparece nada alem de "NEW"
    Alguém poderia me ajudar?

    Desde já agradeço

    Segue abaixo o código para uma verificação.

                    

     Mundo.MUndo bd = new Mundo.MUndo(new MySqlConnection("Server=***;Database=***;User=***;Password=***"));


                var query = (from c in bd.ContinentE
                             join p in bd.PaIs on c.ID equals p.ContinenteID
                             select new { Nome = p.PaIsNome, Continente = c.NomeContinentE } );


                string continente = "\"Oceania\"";
                string value = string.Format("Continente = {0}", continente);


                query = query.AsQueryable().Where(value);


                foreach (var item in query)
                {

                }

    quarta-feira, 21 de março de 2012 13:17

Respostas

  • Olá Pedro,

    Agora que percebi a lógica do seu código =/

    No caso, o Dynamic LINQ só funciona para consultas SQL... No seu código vc esta executando a clausula Where com os objetos já em memória...

    Podemos tentar fazer assim:

    var query = bd.ContinentE
    	      .Where("Continente=@0", continente)
    	      .Join(bd.PaIs, c => c.ID, p => p.ContinenteID, (c, p) => new {p.PaIsNome, c.NomeContinentE })
    

    []s!

    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique

    • Marcado como Resposta Pedro Lins quinta-feira, 22 de março de 2012 04:36
    quinta-feira, 22 de março de 2012 02:07
    Moderador

Todas as Respostas