paint-brush
Migrações do EF Core: um guia passo a passo para começarpor@ssukhpinder
3,005 leituras
3,005 leituras

Migrações do EF Core: um guia passo a passo para começar

por Sukhpinder Singh8m2023/03/09
Read on Terminal Reader

Muito longo; Para ler

EF Core é uma estrutura de mapeamento relacional de objeto (ORM) que permite aos desenvolvedores interagir com bancos de dados. Um dos recursos essenciais do EF Core é sua capacidade de lidar com migrações de banco de dados. Este artigo demonstra as migrações do EF Core, por que elas são cruciais e como usá-las com um exemplo.
featured image - Migrações do EF Core: um guia passo a passo para começar
Sukhpinder Singh HackerNoon profile picture

Entity Framework Core (EF Core) é uma estrutura de mapeamento objeto-relacional (ORM) que permite aos desenvolvedores interagir com bancos de dados usando objetos .NET. Um dos recursos essenciais do EF Core é sua capacidade de lidar com migrações de banco de dados.

Pré-requisitos

  • Conhecimento básico da linguagem de programação C#.
  • Compreensão dos conceitos básicos de OOPS


Este artigo demonstra as migrações do EF Core, por que elas são cruciais e como usá-las com um exemplo. Então, para começar:


Introdução ao C#


O C# já existe há algum tempo e continua a se desenvolver, obtendo recursos mais aprimorados. medium.com

objetivos de aprendizado

  • Como usar a migração do EF Core com exemplo.


  • Por que as migrações do EF Core são importantes

Começando

As migrações do EF Core são uma forma de gerenciar alterações no esquema do banco de dados ao longo do tempo. Ao fazer alterações em seu modelo de banco de dados (como adicionar ou remover tabelas ou colunas), você pode criar uma migração que descreva essas alterações.


As migrações são usadas para atualizar o esquema do banco de dados para corresponder ao novo modelo.

Por que as migrações do EF Core são importantes?

As migrações do EF Core são essenciais porque permitem que você evolua seu esquema de banco de dados ao longo do tempo, preservando os dados.


Sem migrações, você teria que modificar manualmente seu esquema de banco de dados toda vez que fizesse alterações em seu modelo, o que pode ser demorado e sujeito a erros.


As migrações também fornecem uma maneira de criar versões do esquema do banco de dados para que você possa acompanhar facilmente as alterações e reverter para versões anteriores, se necessário.

Como usar as migrações do EF Core?

Para usar o EF Core Migrations, você precisará seguir algumas etapas:


  1. Crie um novo projeto do EF Core. A primeira etapa é criar um novo projeto EF Core no Visual Studio. Você pode fazer isso selecionando "Criar um novo projeto" e, em seguida, selecionando "ASP.NET Core Web Application" e escolhendo o modelo "Web Application (Model-View-Controller)".


  2. Crie um contexto de banco de dados. A próxima etapa é criar uma classe de contexto de banco de dados. Essa classe gerencia interações entre seus objetos .NET e o banco de dados. Para criar um contexto de banco de dados, crie uma nova classe em seu projeto e herde-a da classe DbContext.


 public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } }


Criar um modelo de banco de dados

Depois de criar um contexto de banco de dados, você precisará criar um modelo de banco de dados. Esse modelo representa a estrutura do seu banco de dados e é usado pelo EF Core para gerar tabelas e colunas do banco de dados.


Para criar um modelo de banco de dados, crie uma nova classe em seu projeto e defina suas propriedades como campos de banco de dados.


 public class MyModel { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } }


Ativar migrações do EF Core

Em seguida, você precisa habilitar as migrações do EF Core em seu projeto. Para fazer isso, abra o console do gerenciador de pacotes e digite o seguinte comando:


 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


Este pacote contém as ferramentas necessárias para criar e gerenciar migrações do EF Core.


Criar uma migração

Com as migrações do EF Core habilitadas, você pode criar sua primeira migração. Para criar uma migração, abra o Console do gerenciador de pacotes e digite o seguinte comando:


 PM> Add-Migration InitialCreate


Isso criará uma nova migração chamada "InitialCreate" que descreve as alterações feitas em seu modelo de banco de dados. Você pode visualizar o conteúdo da migração na pasta "Migrações" do seu projeto.


Atualizar o banco de dados

Depois de criar uma migração, você pode atualizar o esquema do banco de dados para corresponder ao novo modelo. Para fazer isso, abra o console do gerenciador de pacotes e digite o seguinte comando:


 PM> Update-Database


Isso aplicará a migração ao banco de dados e atualizará seu esquema.

Exemplo

Vejamos um exemplo de uso de migrações do EF Core. Suponha que queremos criar uma tabela simples "Alunos" com duas colunas: "Id" e "Nome". Começaremos criando um novo projeto de aplicativo Web ASP.NET Core no Visual Studio.


  1. Crie um novo projeto do EF Core. Crie um novo projeto de aplicativo Web ASP.NET Core no Visual Studio. Selecione o modelo "Aplicativo da Web (Model-View-Controller)" e escolha "Contas de usuário individuais" para Autenticação. Nomeie o projeto "EFCoreMigrationsExample".


  2. Crie um contexto de banco de dados. Crie uma nova classe chamada "MyDbContext" na pasta "Models" do projeto e herde-a da classe DbContext.


 using Microsoft.EntityFrameworkCore; namespace EFCoreMigrationsExample.Models { public class MyDbContext : DbContext { public MyDbContext(DbContextOptions<MyDbContext> options) : base(options) { } public DbSet<Student> Students { get; set; } } }


A propriedade "Students" é um DbSet que representa a tabela "Students" do nosso banco de dados.


Criar um modelo de banco de dados

Crie uma nova classe "Student" na pasta "Models" do projeto e defina suas propriedades.

 namespace EFCoreMigrationsExample.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }


Ativar migrações do EF Core

Abra o Console do Gerenciador de Pacotes e insira o seguinte comando para instalar o pacote de ferramentas do EF Core:

 PM> Install-Package Microsoft.EntityFrameworkCore.Tools


Criar uma migração

Abra o Console do gerenciador de pacotes e digite o seguinte comando para criar uma migração:

 PM> Add-Migration InitialCreate


Isso criará uma nova migração chamada "InitialCreate" que descreve as alterações que fizemos em nosso modelo de banco de dados.


O arquivo de migração deve ficar assim:

 using Microsoft.EntityFrameworkCore.Migrations; namespace EFCoreMigrationsExample.Migrations { public partial class InitialCreate : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Students", columns: table => new { Id = table.Column<int>(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column<string>(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Students", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "Students"); } } }


A migração cria uma nova tabela chamada "Students" com colunas para "Id" e "Name".

Atualize o banco de dados Abra o Console do Gerenciador de Pacotes e insira o seguinte comando para atualizar o esquema do banco de dados:


 PM> Update-Database


Isso aplicará a migração ao banco de dados e atualizará seu esquema.


Agora podemos adicionar, atualizar e excluir alunos em nosso banco de dados usando o EF Core. Por exemplo, podemos adicionar um novo aluno ao banco de dados assim:

 using EFCoreMigrationsExample.Models; namespace EFCoreMigrationsExample.Controllers { public class HomeController : Controller { private readonly MyDbContext _context; public HomeController(MyDbContext context) { _context = context; } public IActionResult Index() { var student = new Student { Name = "John" }; _context.Students.Add(student); _context.SaveChanges(); return View(); } } }


Esse código cria uma nova instância da classe Student e define sua propriedade Name como "John". Em seguida, adiciona o aluno ao DbSet Alunos e salva as alterações no banco de dados.

Conclusão

As migrações do EF Core fornecem uma maneira conveniente de gerenciar alterações de esquema de banco de dados em seu aplicativo.


Este artigo mostra como criar um esquema de banco de dados simples usando migrações do EF Core, incluindo criar um DbContext, definir um modelo, fazer uma migração e atualizar o esquema do banco de dados.


Este é apenas o começo do que o EF Core pode fazer. Você pode usar o EF Core para consultar e manipular dados, criar relacionamentos complexos entre tabelas e muito mais. Com sua facilidade de uso e ampla variedade de recursos, o EF Core é uma excelente opção para criar aplicativos orientados a dados em .NET.


Este artigo ajudou você a começar com as migrações do EF Core. Se você tiver quaisquer perguntas ou comentários, por favor, deixe-os abaixo. Codificação feliz!

Siga-me

Publicação C# , LinkedIn , Instagram , Twitter , Dev.to


Também publicado aqui