How do I get the sql that linq generates for the VS2013 debug

5

How do I get the sql that linq generates for the VS2013 debug? How do I do this?

I did it and it did not work

public static List<MontaArvoreAcao> CriarListaArvoreUn(string _uf, string _cidade, string _un)
        {
            RupturaEntities db = new RupturaEntities();

            var _listaUnidade = (
                                   from r in db.Ruptura
                                   join a in db.Apresentacao on r.Codigo_Apresentacao equals (a.Codigo_Apresentacao)
                                   join m in db.Motivo on r.IDMotivo equals (m.IDMotivo)
                                   where r.IDMotivo != 6
                                   group r by new { a.Unidade_Negocio, r.IDMotivo } into gr
                                   select new MontaArvoreAcao
                                   {
                                       IDMotivo = gr.Key.IDMotivo,
                                       Unidade_Negocio = gr.Key.Unidade_Negocio,
                                       Somatorio = gr.Count()
                                   }
                                 ).Distinct().ToList().OrderBy(r => r.IDMotivo);

            if (_un != "" && _un != null)
            {
                _listaUnidade = _listaUnidade.Where(u => u.Unidade_Negocio == _un).ToList().Distinct().OrderBy(o => o.Unidade_Negocio);
            }

            var query = _listaUnidade.ToString();**==> Aqui não deu certo**

            return _listaUnidade.ToList();
        }
    
asked by anonymous 02.10.2014 / 18:18

1 answer

2

When you make the select using linq, the result will be of type DbQuery<T> . The .ToString() method of this class is superscript to display the SQL command , then just call it:

var query = from foo in db.foo
            select foo;
var sqlGerado = query.ToString();
    
02.10.2014 / 18:37