none
Sql para linq RRS feed

  • Pergunta

  • Olá, como posso fazer essa consulta em linq?

    SELECT
    itens.descricao,
    grupo.descricao as grupoqts,
    ordens_itens.id,
    ordens_itens.qtd,
    ordens_itens.valor,
    ordens_itens.entregue,
    ordens_itens.itens_id,
    itens.codigo


    FROM
    ordens_itens
    INNER JOIN itens ON ordens_itens.itens_id = itens.id
    INNER JOIN grupo ON grupo.id = itens.grupo_id

    where ordens_itens.ordens_id=1
    segunda-feira, 7 de outubro de 2013 17:30

Respostas

  •   var query = from ordItens in ctx.ordens_itens
                            join it in ctx.itens on ordItens.itens_id equals it.id
    join gp in ctx.grupo on gp.id equals it.id
                            select new { descricao = it.descricao, grupoqts = gp.descricao, idIt = it.id, qtd = ordItens.qtd...  };
    • Marcado como Resposta MauricioSouza100 segunda-feira, 7 de outubro de 2013 18:00
    segunda-feira, 7 de outubro de 2013 17:45
  • Valew aos que responderam. Ao tentar o exemplo do Romy, nesta linha apresentou erro:

    join gp in ctx.grupo on gp.id equals it.id

    erro: The name is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'

    Apenas inverti a ordem que estão os itens do equals, ficando assim:

    join gp in ctx.grupo on it.id equals gp.id

    • Marcado como Resposta MauricioSouza100 segunda-feira, 7 de outubro de 2013 18:00
    segunda-feira, 7 de outubro de 2013 18:00

Todas as Respostas

  • var resultado = from contexto.ordens_itens in oi join contexto.itens in i on oi.itens_id equals i.id

         join contexto.grupo in g on i.grupo_id equals g.id

         where oi.ordens_id == 1

        select(new

    {

    Descricao = i.descricao,

    GrupoQts = g.descricao,

    //assim por diante

    });

    • Sugerido como Resposta Romy Moura segunda-feira, 7 de outubro de 2013 17:44
    segunda-feira, 7 de outubro de 2013 17:38
  •   var query = from ordItens in ctx.ordens_itens
                            join it in ctx.itens on ordItens.itens_id equals it.id
    join gp in ctx.grupo on gp.id equals it.id
                            select new { descricao = it.descricao, grupoqts = gp.descricao, idIt = it.id, qtd = ordItens.qtd...  };
    • Marcado como Resposta MauricioSouza100 segunda-feira, 7 de outubro de 2013 18:00
    segunda-feira, 7 de outubro de 2013 17:45
  • Valew aos que responderam. Ao tentar o exemplo do Romy, nesta linha apresentou erro:

    join gp in ctx.grupo on gp.id equals it.id

    erro: The name is not in scope on the left side of 'equals'. Consider swapping the expressions on either side of 'equals'

    Apenas inverti a ordem que estão os itens do equals, ficando assim:

    join gp in ctx.grupo on it.id equals gp.id

    • Marcado como Resposta MauricioSouza100 segunda-feira, 7 de outubro de 2013 18:00
    segunda-feira, 7 de outubro de 2013 18:00