EF Core Powertools

Olá pessoal,

Já utilizando Asp.Net Core ? Entity Framework Core ? Esta nova versão do EF Core está muito boa e para ajudar no processo de desenvolvimento, hoje vou falar da ferramenta EF Core PowerTools.

Mas em que esta ferramenta me ajuda ? Simples, com ela você pode pegar um banco existente e fazer engenharia reversa, o que significa gerar todas as classes do EntityFramerwork a partir do seu banco de dados. Produtividade!!!

Vale lembrar que para utilizar o EF Core você precisa do Visual Studio 2017.

Instalando o componente:

Vamos iniciar baixando o EF Core Powertools a partir deste endereço: https://github.com/ErikEJ/EFCorePowerTools/wiki

Uma dica: Até o momento que estou escrevendo este artigo, a versão padrão está com um bug na geração do modelo visual, então sugiro que você pegue a versão daily build.

O Powertools é uma extensão para o Visual Studio, então após o download é só clicar e instalar. Não esqueça de reiniciar o Visual Studio para concluir a instalação!

No meu caso tenho o Visual Studio 2017 Preview também.

Criando nosso projeto de exemplo:

Depois de instalado, vamos criar um projeto .Net Core Console:

Agora precisamos adicionar o EntityFramework Core ao nosso projeto. Vamos fazer isto usando o NuGet Package Manager Console, com o comando:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Agora podemos usar o EF Core PowerTools clicando com o botão direito do mouse no projeto, onde veremos o menu abaixo:

Vamos então escolher a opção Reverse Engineer e clicando no botão Add você pode escolher o banco de dados: (no meu exemplo vou utilizar o NorthWind):

Selecione as tabelas/views e clique OK:

Finalmente, você pode ajustar as configurações do seu modelo, como nome do Contexto, NameSpace, etc:

Feito isto, teremos nossas classes e o contexto no projeto:

Agora só utilizar, mas antes verifique o seu contexto, pois a string de conexão com o banco foi colocada lá no código (no meu exemplo NorthwindContext.cs), o que não é uma boa prática:

Um funcionalidade bem legal desta ferramenta é o digrama do banco, que você gera no menu de contexto:

Esta opção gera um arquivo .dgml com o diagrama:

Lebrando que esta ferramenta é open source e está no GitHub: https://github.com/ErikEJ/EFCorePowerTools

Abraços e até a próxima,
Carlos dos Santos.