none
Linq RRS feed

  • Pergunta

  • Galera como posso transformar a query abaixo em linq ?

    select 
    campanha.CampanhaId, 
    blog.Id, 
    blog.Conteudo,
    blog.Titulo,
    imagem.NomeArquivo,
    imagem.NomeThumb
    from dbo.TB_Blog as blog
    left join TB_BlogCampanha as campanha on
    campanha.BlogId = blog.Id
    left join TB_BlogImagem as blogImagem on
    campanha.BlogId = blogImagem.BlogId
    left join dbo.TB_Imagem as imagem on
    imagem.Id = blogImagem.BlogId 
    where campanha.CampanhaId = 1
    group by 
    campanha.CampanhaId, 
    blog.Id, 
    blog.Conteudo,
    blog.Titulo,
    imagem.Id, 
    imagem.NomeArquivo,
    imagem.NomeThumb

    Obrigado


    SirSmart

    quinta-feira, 17 de abril de 2014 14:33

Respostas

  • Olá, veja se este exemplo com LEFT JOIN  e GroupBy lhe ajuda : (Com lambda que seria mais simples)

    var sql = db.TB1 .GroupJoin(db.TB1, T1 => T1.ID, T2 => T2.ID, (T1, T2) => new { T1, T2 = T2.Where(i => i.IDTESTE == TESTE) }) .SelectMany(s => s.T2.DefaultIfEmpty(), (S, T2) => new { T1 = S.T1, T2 = T2 }) .Where(o => o.T1.TABELA == _tabela) .GroupBy(g => new { SEUCAMPO = g.T1.CAMPO})

    .Select(s => s.Key.SEUCAMPO).ToList();

    Veja como é feito o LEFT usando o GroupJoin e SELECTMANY depois viria o where normal agrupado e selecionando o campo que deseja.

    • Marcado como Resposta SirSmart quinta-feira, 17 de abril de 2014 17:51
    quinta-feira, 17 de abril de 2014 17:10

Todas as Respostas

  • Olá, veja se este exemplo com LEFT JOIN  e GroupBy lhe ajuda : (Com lambda que seria mais simples)

    var sql = db.TB1 .GroupJoin(db.TB1, T1 => T1.ID, T2 => T2.ID, (T1, T2) => new { T1, T2 = T2.Where(i => i.IDTESTE == TESTE) }) .SelectMany(s => s.T2.DefaultIfEmpty(), (S, T2) => new { T1 = S.T1, T2 = T2 }) .Where(o => o.T1.TABELA == _tabela) .GroupBy(g => new { SEUCAMPO = g.T1.CAMPO})

    .Select(s => s.Key.SEUCAMPO).ToList();

    Veja como é feito o LEFT usando o GroupJoin e SELECTMANY depois viria o where normal agrupado e selecionando o campo que deseja.

    • Marcado como Resposta SirSmart quinta-feira, 17 de abril de 2014 17:51
    quinta-feira, 17 de abril de 2014 17:10
  • Existe um programa chamado Linqer que converte instruções SQL em LINQ.

    http://www.sqltolinq.com/downloads

    eu utilizo e é muito bom, recomendo.

    sexta-feira, 25 de abril de 2014 20:48