Introdução ao Entity Framework Core: Mapeamento Objeto-Relacional em C#
O Entity Framework Core (EF Core) é uma poderosa biblioteca de mapeamento objeto-relacional (ORM) para C#, que permite interagir com bancos de dados de forma eficiente e intuitiva. Com o EF Core, os desenvolvedores podem trabalhar com dados usando objetos C# em vez de escrever consultas SQL diretamente. Neste artigo, vamos explorar os conceitos básicos do EF Core e como utilizá-lo em suas aplicações.
1. O que é Mapeamento Objeto-Relacional (ORM)?
O Mapeamento Objeto-Relacional é uma técnica que permite que dados de um banco de dados relacional sejam representados como objetos em uma linguagem de programação. Isso facilita a interação com o banco de dados, pois os desenvolvedores podem trabalhar com objetos em vez de lidar diretamente com consultas SQL.
2. O que é Entity Framework Core?
O Entity Framework Core é uma versão leve e extensível do Entity Framework, projetada para ser multiplataforma. Ele oferece suporte a várias bases de dados, como SQL Server, SQLite, PostgreSQL e MySQL. O EF Core permite que você faça operações CRUD (Create, Read, Update, Delete) de forma simples e rápida, além de suportar LINQ para consultas.
3. Configurando o Entity Framework Core
Para começar a usar o EF Core em seu projeto, você precisará instalá-lo através do NuGet. Você pode fazer isso executando o seguinte comando no console do NuGet:
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Após a instalação, você pode criar um contexto de banco de dados que herda de DbContext
.
4. Criando o Modelo de Dados
Um modelo de dados representa as tabelas do banco de dados como classes C#. Aqui está um exemplo simples de um modelo de produto:
public class Produto
{
public int Id { get; set; }
public string Nome { get; set; }
public decimal Preco { get; set; }
}
5. Criando o DbContext
O DbContext
é a classe principal do EF Core, responsável por gerenciar a conexão com o banco de dados e as operações de CRUD. Aqui está um exemplo de como configurar o DbContext:
using Microsoft.EntityFrameworkCore;
public class MeuContexto : DbContext
{
public DbSet Produtos { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("sua_string_de_conexão");
}
}
6. Operações CRUD com EF Core
O EF Core simplifica as operações CRUD. Aqui estão exemplos de como adicionar, ler, atualizar e excluir produtos:
using (var context = new MeuContexto())
{
// Adicionar
var novoProduto = new Produto { Nome = "Produto A", Preco = 10.00M };
context.Produtos.Add(novoProduto);
context.SaveChanges();
// Ler
var produtos = context.Produtos.ToList();
// Atualizar
var produtoExistente = context.Produtos.First();
produtoExistente.Preco = 12.00M;
context.SaveChanges();
// Excluir
context.Produtos.Remove(produtoExistente);
context.SaveChanges();
}
7. Consultas com LINQ
Você pode usar LINQ para consultar dados de maneira eficiente. Aqui está um exemplo de como filtrar produtos com um preço específico:
using (var context = new MeuContexto())
{
var produtosCaros = context.Produtos
.Where(p => p.Preco > 15.00M)
.ToList();
}
8. Migrations e Atualizações de Banco de Dados
O EF Core suporta migrations, permitindo que você controle as alterações na estrutura do banco de dados. Para adicionar uma migration, use o seguinte comando no console do NuGet:
Add-Migration NomeDaMigration
Para aplicar a migration e atualizar o banco de dados, use:
Update-Database
Conclusão
O Entity Framework Core é uma ferramenta poderosa para o desenvolvimento de aplicações em C#, facilitando o mapeamento objeto-relacional e a manipulação de dados. Ao entender como configurar e utilizar o EF Core, você pode criar aplicações mais eficientes e escaláveis. Experimente implementar o EF Core em seus projetos e veja como ele pode melhorar sua produtividade no desenvolvimento.