none
Como gerar uma sub query em linq/EF RRS feed

  • Pergunta

  • Olá, pessoal.

    Tenho uma situação, onde concateno algumas sub querys SQLs que são concatenadas em outras consultas SQLs, para retornar alguns valores.

    Tenho várias funções como estas, pois utilizo elas em várias outras consultas. Assim não preciso repetir código.

    Gostaria de saber como posso fazer isso utilizando LinqSQL + EF.

    Segue o exemplo de um código simples.

            public void Disponivel()
            {
                string query = "Select prod.Cod, prod.Descricao, ";
                query += QueryEstoqueDisponivel("prod.Cod") + " as EstoqueDiponivel ";
                query += " From TAB_Produtos prod ";

                //Aqui será gerado uma lista dos produtos...
            }


            public string QueryEstoqueDisponivel(string aliasProduto = "prod.Cod")
            {
                string query = "((Select Sum(est.Quantidade) " +
                                      "  From ProdutoEstoque est " +
                                      "   Where est.CodProdutos = " + aliasProduto +
                                      " ) " +
                                      " - (Select Sum(it.Quantidade) " +
                                         " From PedidosItens it " +
                                         " Where it.CodProdutos = " + aliasProduto + 
                                         ")" +
                                      ") ";

                return query;
            }

    sexta-feira, 8 de fevereiro de 2019 13:53

Todas as Respostas

  • Não posso fazer isso, pois conforme o exemplo, tenho uma consulta de produtos onde chama um método que retorna uma query para trazer o estoque disponível de cada produto.

    Preciso fazer em linq, da mesma forma que esta no exemplo em SQL

    sexta-feira, 8 de fevereiro de 2019 20:01