Truques inteligentes para encontrar consultas LINQ específicas no SQL Profiler

A criação de perfil de consultas LINQ e seus planos de execução é especialmente importante devido ao louco SQL que às vezes pode ser criado.

Costumo achar que preciso rastrear uma consulta específica e não consigo encontrar no analisador de consultas. Costumo fazer isso em um banco de dados com muitas transações em execução (às vezes servidor de produção) - portanto, apenas abrir o Profiler não é bom.

Eu também achei tentando usar o DataContext para rastrear inadequado, uma vez que não me dá SQL, eu posso realmente me executar.

Minha melhor estratégia até agora é adicionar um número 'aleatório' à minha consulta e filtrá-lo no rastreamento.

LINQ:

where o.CompletedOrderID != "59872547981"

Filtro Profiler:

'TextData' like '%59872547981'

Isso funciona bem com algumas ressalvas:

Eu tenho que ter cuidado para lembrar de remover os critérios ou escolher algo que não afetará muito o plano de consulta. Sim, eu sei que deixá-lo está pedindo problemas.Até onde eu sei, mesmo com essa abordagem, preciso iniciar um novo rastreamento para cada consulta LINQ que preciso rastrear. Se eu for em 'Arquivo> Propriedades' para um rastreamento existente, não posso alterar os critérios de filtro.

Você não pode superar a execução de uma consulta no seu aplicativo e vê-la aparecer no Profiler sem nenhum esforço extra. Só esperava que alguém tivesse uma maneira melhor do que isso, ou pelo menos sugerisse um token menos 'perigoso' para procurar do que uma consulta em uma coluna.

questionAnswers(3)

yourAnswerToTheQuestion