Para qualquer um que esteja apenas tentando diagnosticar uma consulta única com falha no EF Core ou semelhante e não querendo alterar seu código, existem algumas opções:
Use o SQL Server Management Studio (SSMS) SQL Profiler
Se você tiver o SQL Server Management Studio (SSMS) instalado, basta iniciar o SQL Profiler no menu Ferramentas no SSMS:
Em seguida, inicie um novo rastreamento em execução no SQL Profiler assim que ele for aberto.
Em seguida, você poderá ver a solicitação de entrada de SQL do EF, eles geralmente são bem formados e fáceis de ler.
Verifique a janela de saída no Visual Studio
Na minha cópia do VS2019, usando EF2.2, posso alterar a janela de saída para mostrar a saída do servidor web (selecione o nome do seu aplicativo e servidor web no combo "Mostrar saída de" no topo do painel Saída) e o SQL de saída também é mostrado lá. Eu verifiquei meu código e, pelo que posso ver, não fiz nada para habilitar isso, então acho que deve fazer isso por padrão:
Se você deseja ver os parâmetros enviados para o servidor SQL nas consultas, pode ativá-los ao configurar o DBContext com o EnableSensitiveDataLogging
método, por exemplo
services.AddDbContext<FusionContext>(options => options
.UseSqlServer(connectionString))
.EnableSensitiveDataLogging()
@Tich - Lil3p menciona nos comentários que eles também precisavam usar um switch para ativar o SQL Debugging na guia Debug da página Propriedades do projeto (que é "sqlDebugging": true
definida em LaunchSettings.json). Eu verifiquei e não tenho ativado para nenhum dos meus projetos, mas pode valer a pena experimentar também se o acima não estiver funcionando para você.