Configurando log de SQL gerado pelo Entity Framework 6

Share Button

O novo Entity Framework possui diversas funcionalidades interessantes, uma delas é a capacidade de fazer log de todas as interações entre o EF e o banco de dados. Isto é muito útil para sabermos o que está acontecendo na aplicação sem precisar usar um profiler qualquer.

Para ativar o log do Entity Framework 6 é muito simples. Basta configurar a propriedade Database.Log, preferencialmente dentro do construtor do contexto EF. Esta propriedade na verdade é um delegate do tipo Action<string>, ou seja, aponta para qualquer método que receba uma string como parâmetro e que o retorno seja void. Neste formato ganhamos muita flexibilidade, pois podemos implementar nosso log de qualquer forma que quisermos, usando um método para isto ou mesmo uma expressão lambda.

No exemplo abaixo, estou fazendo o log do Entity Framework no Output Console quando a aplicação está no modo Debug, fique à vontade para implementar seu log da maneira que quiser.

Quando executarmos uma ação no Entity Framework, ela será logada no Output Console. No exemplo abaixo estou fazendo uma consulta bem simples:

Vamos ver o que aparece no log da aplicação quando realizamos a consulta:

Notem que além de fazer o log do SQL gerado pelo Entity Framework, também há infomações sobre o tempo de execução de cada operação. Demais!

Logo mais terei outros artigos sobre Entity Framework 6. Até mais.

Share Button