Entity Framework: o que é e como usar no .NET e C#
Rocketseat

Rocketseat

2 min de leitura
CSharp
Você já passou horas escrevendo consultas SQL complexas e repetitivas? Já se perdeu em meio a tanto código para interagir com o banco de dados? Imagine conseguir trabalhar com bancos de dados sem precisar escrever comandos SQL diretamente. Parece mágica, né? Mas é exatamente isso que o Entity Framework faz. Neste artigo, você vai entender como essa poderosa ferramenta pode simplificar muito seu dia a dia ao programar em C# e no ecossistema .NET. Bora lá?

O que é ORM?

Antes de entrarmos no Entity Framework, vamos entender o que é ORM (mapeamento objeto-relacional). Imagine que você está viajando para outro país e não fala a língua local. Para se comunicar, você usa um tradutor, que interpreta tudo o que você diz e o que escuta, certo?
O ORM é exatamente isso: um "tradutor" que conecta dois mundos diferentes—o dos objetos em código (C#) e o mundo dos bancos de dados relacionais (SQL).
Veja um exemplo rápido:
  • Sem ORM (com SQL):
SELECT * FROM Produtos WHERE Preco < 100;
  • Com ORM (usando objetos C#):
var produtosBaratos = contexto.Produtos.Where(p => p.Preco < 100);

Benefícios de usar um ORM:

  • Menos código repetitivo.
  • Maior produtividade.
  • Facilidade de manutenção.
  • Código limpo e organizado.

O que é o Entity Framework?

O Entity Framework (EF) é o ORM mais utilizado pelos desenvolvedores .NET. Criado pela Microsoft, ele simplifica o acesso ao banco de dados, permitindo que você trabalhe diretamente com objetos em C#, sem precisar dominar profundamente comandos SQL complexos.
Desde sua primeira versão até o atual Entity Framework Core, ele evoluiu para se tornar uma ferramenta ainda mais eficiente, ágil e versátil.

Principais recursos e vantagens

Mapeamento objeto-relacional

O Entity Framework traduz automaticamente suas classes C# em tabelas do banco de dados e vice-versa.

Consultas LINQ

LINQ permite consultar dados de forma simples e intuitiva:
var produtos = contexto.Produtos.Where(p => p.Categoria == "Cursos Rocketseat");

Migrations

Permitem acompanhar e aplicar alterações no banco de dados automaticamente conforme seu projeto evolui.

Rastreamento de alterações

Automaticamente detecta e salva alterações nos objetos no banco.

Suporte a diversos bancos de dados

Você pode usar SQL Server, MySQL, PostgreSQL e SQLite, entre outros.

Como o Entity Framework funciona? (exemplo prático)

O EF trabalha com:
  • Modelo conceitual: representação abstrata do banco.
  • DbContext: uma classe especial que gerencia as operações no banco.
  • DbSet: representa as tabelas no banco.
Veja na prática:
// Classe que representa uma tabela de produtos public class Produto { public int Id { get; set; } public string Nome { get; set; } public int Duracao { get; set; } // duração em horas } // Classe DbContext public class RocketseatContext : DbContext { public DbSet<Produto> Produtos { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) => options.UseSqlite("Data Source=rocketseat.db"); } // Adicionando um novo produto com duração de 100 horas var contexto = new RocketseatContext(); contexto.Produtos.Add(new Produto { Nome = "Formação C# Rocketseat", Duracao = 100 }); contexto.SaveChanges(); // Consultando produtos var cursos = contexto.Produtos.ToList(); // Esse código define uma entidade (Produto) com propriedades Id, Nome e Duracao (em horas), // e também o contexto de banco de dados (RocketseatContext) utilizado pelo Entity Framework. // Em seguida, cria uma nova instância do contexto, adiciona um novo produto ("Formação C# Rocketseat") // com duração de 100 horas, e salva essa informação no banco SQLite chamado 'rocketseat.db'. // Por fim, recupera e armazena todos os produtos cadastrados no banco em uma lista (cursos).

Mãos na massa: um exemplo simples

Passo a passo:

  1. Crie um projeto novo no .NET usando o VS Code.
  1. Instale o Entity Framework Core com dotnet add package Microsoft.EntityFrameworkCore.Sqlite.
  1. Defina as classes e o contexto conforme exemplo acima.
  1. Execute comandos de migração:
dotnet ef migrations add Inicial dotnet ef database update
  1. Realize operações CRUD e veja tudo funcionando facilmente!

Indo além: próximos passos

Quer avançar mais? O Entity Framework oferece:
  • Lazy loading: os dados relacionados são carregados apenas quando solicitados pela primeira vez, economizando recursos.
  • Eager loading: os dados relacionados são carregados imediatamente junto com a entidade principal, útil para evitar consultas repetidas ao banco de dados.
  • Consultas complexas e eficientes com LINQ.
  • Uso de transações.
  • Integração com Stored Procedures.

Recursos adicionais

Para aprofundar ainda mais seus conhecimentos, confira estes recursos:

Continue evoluindo com Rocketseat!

Se você gostou do Entity Framework e quer se aprofundar em C# e .NET, temos uma ótima notícia: a Formação C# da Rocketseat é o caminho perfeito para você!
A formação oferece:
  • Conteúdo completo e atualizado.
  • Projetos práticos e reais.
  • Certificado reconhecido pelo mercado.
  • Uma comunidade incrível para te apoiar.
Dê um passo adiante na sua carreira e venha descobrir como o universo .NET pode ser empolgante e cheio de oportunidades!
Agora que você conhece o Entity Framework, coloque a mão no código e veja como seu aprendizado pode ser divertido, gratificante e, acima de tudo, transformar sua carreira!
Artigos_

Explore conteúdos relacionados

Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.

Aprenda programação do zero e DE GRAÇA

No Discover você vai descomplicar a programação, aprender a criar seu primeiro site com a mão na massa e iniciar sua transição de carreira.

COMECE A ESTUDAR AGORA