Configurando Migrations no EF Core com MySql

O EntityFramework é um ORM o qual permite realizar as operações básicas de CRUD utilizando as entidades. Ele consegue mapear as entidades e relacionamentos definidos no modelo para um banco de dados.

Essa interação se dá pela classe DbContext, o qual administra os objetos entidades em tempo de execução.

Levando em consideração o projeto descrito em um artigo anterior vamos, primeiramente, instalar os seguintes pacotes:

  • Microsoft.EntityFrameworkCore.Tools
    Auxilia na criação do banco de dados

Feito isso, cria-se, primeiramente, uma classe para definir algumas atribuições da entidade e das propriedades da mesma, como o nome da tabela que será mapeado, qual atributo será chave primária e quais os nomes das colunas das propriedades que serão mapeadas.

Em seguida, desenvolve-se a classe de contexto, que conterá o controle e configurações necessárias para conectar, criar e realizar operações no banco de dados.

Após isso, faz-se uma injeção de dependência da classe contexto na classe Startup.cs do projeto Modelo.Application.

A aplicação está pronta para trabalhar com o EntityFramework conectando no MySql, contudo necessita-se utilizar o Migrations. Comparando com o, já depreciado, Asp.Net MVC, o comando Enable-Migrations está obsoleto. Para habilitar o mesmo, basta adicionar uma Migration utilizando o seguinte comando no Package Manager Console:

— Add-Migration VersaoInicial

Package Manager Console

Após executar este comando, será gerado um código referente às alterações que foram identificadas. Para persistir essas alterações, necessita-se executar o seguinte comando:

— Update-Database

Por fim, as modificações já serão persistidas no banco de dados. E para reverter a versão executada no Migrations, basta executar o seguinte código:

— Remove-Migration

Conclusão

Percebe-se que é muito simples a utilização do EF Core no MySql utilizando o Migrations. Além de ser extremamente útil gerenciar o modelo de dados e o esquema do banco de dados a partir do código, empregando o Code-First para isso, pois tem-se todo um histórico de todas as alterações feitas na base de dados, facilitando, assim, a rastreabilidade.

Referências

Bachelor in Computer Science, MBA in Software Architecture and .NET Developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store