Entity Framework Power Tools

Já ouviu falar do Entity Framework Power Tools? Como assim não?!?!?!

O Entity Framework Power Tools é um pacote de extensão criado para auxiliar na criação do seu modelo de dados utilizando os novos recursos da DbContext API. A instalação do Entity Framework Power Tools funciona tanto para o Microsoft Visual Studio 2010 quanto para o Microsoft Visual Studio 2012, o próprio pacote de instalação é o mesmo para ambas IDEs.

Para fazer o download do Entity Framework Power Tools Beta 2, acesse este link: http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

Quando instalamos o Entity Framework Power Tools Beta 2, surge um novo menu de contexto na Solution Explorer, chamado “Entity Framework”.

Este menu de contexto nos leva a duas funcionalidades:

1 – Reverse Engineer Code First: cria um conjunto de classes POCO, a partir dos recursos fornecidos pela DbContext API, com base em um banco de dados existente.
2 – Customize Reverse Engineer Templates: Adiciona os templates do T4 em nosso projeto para edição e customização conforme preciso.

Para realização de alguns testes, com a ferramenta de engenharia reversa, utilizei o banco de dados School. O banco de dados School é uma base de dados de exemplo da Microsoft bastante utilizada pela comunidade para realização de demonstrações e provas de conceito. Esta base de dados pode ser encontrada neste link: http://msdn.microsoft.com/en-us/library/vstudio/bb399731(v=vs.100).aspx

Obs.: Para este exemplo utilizarei o Microsoft Visual Studio 2012 Premium e o Microsoft SQL Server 2008 R2 Express.

Quando clicamos em “Reverse Engineer Code First” nos surge uma janela de configuração de conexão com o banco de dados. A conexão que será configurada corresponde ao banco de dados que será mapeado para nossa aplicação.

Depois de configurada a conexão com o banco de dados será iniciado o processo de criação do modelo com base na estrutura do banco de dados configurado.

Com o modelo criado, o Entity Framework Power Tools criará em seu projeto uma pasta chamada Models. A pasta Models irá conter todas as entidades criadas com base nas tabelas do seu banco de dados. Também será criada uma pasta chamada Mapping, que irá conter todas as classes de mapeamento dos seus campos. Essas classes de mapeamento herdam da classe EntityTypeConfiguration, uma classe que já discutimos anteriormente (veja https://ferhenriquef.com/2012/03/12/entitytypeconfiguration/).

Neste post tivemos uma explicação de como podemos criar um modelo de dados, utilizando a DbContext API e as ferramentas de mapeamento do Entity Framework Code First, por meio do Entity Framework Power Tools Beta 2. O uso do Entity Framework Power Tools facilita o mapeamento de grandes bases de dados, evitando que os desenvolvedores gastem muito tempo na criação do mapeamento objeto-relacional das entidades.

Vale ressaltar que o Entity Framework Power Tools ainda esta na versão beta. Novas versões devem surgir nos próximos meses. Existem registros de alguns bugs na ferramenta, mas nos próximos releases provavelmente estes pontos serão resolvidos.

Por

MSc. Fernando Henrique Inocêncio Borba Ferreira

Microsoft Most Valuable Professional – Data Platform Development

Anúncios

5 Responses to Entity Framework Power Tools

  1. Muito bom esse recurso de engenharia reversa.
    Com bancos MS Sql funcionou bem comigo, mas não com um banco Sybase SqlAnywhere.

    • Olá Antônio,
      Tudo beleza? 🙂

      Vc esta utilizando algum provider para conectar nesse banco de dados?
      Existe alguma customização dele para o EF Code First?

      Acredito que se pesquisarmos algo nessa linha conseguiremos achar a resposta.

      []s!

  2. Douglas Salla says:

    Oi Fernando,

    Realmente muito boa essa extensão mas infelizmente ainda não resolve tudo. Estou com
    problemas de lentidão no start do meu contexto (algo em torno de 400 entidades e a tendência
    é que aumente), a demora estava na casa dos 18s e com o Generate Views do EF Power Tools
    caiu pra 13s, um ganho pequeno e 13s é tempo demais para aguardar o carregamento de uma
    página. Alguma dica para esse cenário?

    Obrigado.
    Abraço.

  3. mane9999 says:

    Quando o modelo fica com muitas entidades é melhor usar um contexto por cada modulo funcional na aplicaçao, em Pluralsight Julie Lerman tem um curso online de “EF for the Enterprise” e mostra como tem que ser fdeito.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: