Entity Framework - Usando o Entity Framework Profiler


O EFProfiler é mais uma ferramenta que permite verificar se os comandos SQL gerados pelo seu código usando o Entity Framework estão otimizados.

Para usar a ferramenta basta baixar o pacote no site: www.efprof.com

Após isso descompacte e instale a ferramenta em uma pasta no seu computador.

As instruções estão em um arquivo texto chamado How to use.txt que eu traduzi bem rapidinho e que transcrevo a seguir:

Preparando um aplicativo para ser analisado pelo EFProfiler
===================================================

# Adicione uma referência para a dll appender

Se você está usando. NET 4.0, você deverá adicionar uma referência para HibernatingRhinos.Profiler.Appender.v4.0.dll, que está localizado no zip para download.
Se você está usando o Framework 3.5, deve adicionar uma referência para o assembly HibernatingRhinos.Profiler.Appender.dll

# Chamando o profiler do seu codigo

Na inicialização do aplicativo (Application_Start em aplicações web, Program.Main em aplicações Windows/Console ou no construtor App para aplicativos WPF), faça a seguinte chamada:

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize ();

Traçando o perfil do aplicativo
=====================
Abra o EFProf.exe
Comece a usar o aplicativo que você deseja analisar
Você deve ver imediatamente os resultados na interface do usuário.

notas
=====
Isto irá funcionar apenas para análises feitas na máquina atual, você pode traçar o perfil de uma máquina remota, passando o nome do host para a chamda Initialize()

Para quaisquer questões , por favor, informe-nos para na lista de discussão apoio:
http://groups.google.com/group/efprof

Então após baixar o pacote do EFProfiler vamos criar um projeto do tipo Console Application usando a linguagem Visual Basic no Visual Studio 2012 Express:

No menu Project clique em New Project e selecione o template conforme a figura abaixo:

Agora vamos incluir uma referência a biblioteca do EFProfiler. No menu Project selecione Add Reference;

Clique no botão Browser e localize o arquivo HibernatingRhinos.Profiler.Appender.v4.0.dll e clique no botão Add;

Agora vamos criar um Entity Data Model para acessar a tabela Customer do banco de dados Northwind.mdf;

No menu Project clique em Add New Item e a seguir selecione Data->ADO .NET Entity Data Model e informe o nome Northwind.edmx e clique em Add;

Selecione a opção Generate from Database;

A seguir selecione a conexão com o Northwind e aceite os valores padrões;

Selecione a tabela Customers e clique no botão Finish;

Pronto temos a entidade Customer gerada pelo ORM Entity Framework que iremos usar no projeto;

Agora vamos realizar uma consulta ao EDM e verificar seu desempenho usando o EFProfiler.

Digite o código abaixo no arquivo Module1.vb

Module Module1

Sub Main()

' Referencia ao EF Profiler
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize()

Dim ctx As New NorthwindEntities1()

Dim consulta = From c In ctx.Customers
                       Select c

For Each linha In consulta
   Console.WriteLine(linha.ContactName)
   Console.WriteLine(linha.Address)
Next

Console.ReadKey()

End Sub

End Module

Atenção !!

Agora abra a aplicação EFProfiler clicando no aplicativo EFProf na pasta onde você descompactou o pacote do utilitário.

Em seguida rode a sua aplicação.

A saída no Console irá exibir o nome do contato e o endereço:

E você verá os resultados na tela do EFProfiler podendo extrair muitas informações sobre o desempenho do SQL gerado:

Esta ferramenta é trial por 30 dias e solicita o registro e a conexão com o servidor remoto.

Cabe a você decidir se vale a pena usar a ferramenta no seu projeto e se isso vale preço cobrado pela licença.

Pegue o projeto (sem os pacotes) aqui: UsandoEFProfiler.zip

1Pe 1:3 Bendito seja o Deus e Pai de nosso Senhor Jesus Cristo, que, segundo a sua grande misericórdia, nos regenerou para uma viva esperança, pela ressurreição de Jesus Cristo dentre os mortos,

1Pe 1:4 para uma herança incorruptível, incontaminável e imarcescível, reservada nos céus para vós,

1Pe 1:5 que pelo poder de Deus sois guardados, mediante a fé, para a salvação que está preparada para se revelar no último tempo;

Referências:


José Carlos Macoratti