none
"From" dinâmico usando linq RRS feed

  • Pergunta

  • Olá,

    Gostaria de saber se é possível realizar um "From dinâmico" no usando Linq?

    Algo como:

    IF(Tipo = 1)

    Tabela = "Tabela1";

    else

    Tabela = "Tabela2";

     

    var query = from x in Tabela

    select x;

    é possível realizar este tipo de abordagem, em que eu desconheço a fonte de origem?

     

    Grato pela Atenção,

    Alan Matheus P. Araya

    terça-feira, 24 de agosto de 2010 13:16

Todas as Respostas

  • Olá

    você pode tentar algo usando Entity SQL veja esse artigo.

    http://marquinhosnet.wordpress.com/2010/07/21/usando-entity-sql-para-operacoes-no-banco-de-dados/

    Sds.


    Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/
    terça-feira, 24 de agosto de 2010 13:46
  • Obrigado pela resposta Marcos mas,

    Sem utilizar o Entity FrameWork é possível realizar esta operação de um "from" ou mesmo "select" dinâmico?

     

    Grato pela Atenção,

    Alan Matheus P. Araya

     

    terça-feira, 24 de agosto de 2010 14:08
  • você diz montar consulta dinâmica sem usar o LINQ?

    Se for isso é possível. Você pode declarar uma variável do tipo string, ir montando sua consulta conforme a necessidade do processo e no final executar essa consulta.

    exemplo:

    string strConsulta = "SELECT CIDADE";
    
    if (bolUF)
      strConsulta += " , UF";
    
    strConsulta += " FROM CIDADE";
    

    Agora precisa ver qual banco de dados você está utilizando para usar esses componentes para realizar a conexão com o banco de dados.


    Sds.


    Marcos Aguiar Jr - Brazil blog: https://marquinhosnet.wordpress.com/
    terça-feira, 24 de agosto de 2010 16:49
  • A ideia é utilizar o Linq e fazer algo assim:

     

    if(algumaCoisa == true)
     VARIAVEL = conext.Tabela1;
    
    else
     VARIAVEL = context.Tabela2;
    
    var query = from x in VARIAVEL
             select x;
    

    pois preciso consultar diferentes tabelas mas trazer o mesmo select, apenas de tabelas diferentes.O detalhe é que não quero ir em todas as tabelas ao mesmo tempo, apenas quero manter meu select e alterar qual tabela selecionar baseado em algum critério em tempo de execução.

    quarta-feira, 25 de agosto de 2010 15:21
  • Alan,

    Veja se este post te ajuda: http://carloscds.net/2010/07/consultas-genricas-com-linq/

    []s,


    Carlos dos Santos - www.carloscds.net
    segunda-feira, 6 de setembro de 2010 01:21