1
resposta

BaseRepository vs DbContext - Continuação

Lendo a dúvida de um outro aluno (https://cursos.alura.com.br/forum/topico-baserepository-vs-dbcontext-94770)

E pesquisando a respeito do assunto, cheguei a este outro link, falando que utilizar o padrão "base repository" com o entity não é algo interessante. Já que o próprio ef core já faz isso.

https://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework-core/

Então, qual é o motivo escolhido para aplicar este "base repository" neste curso, sendo que, como já citado anteriormente no outro tópico, o outro instrutor mostra o DbContext?

E mais : O que devo utilizar? BaseRepository? DbContext?

Pra mim, que está aprendendo como o entity funciona junto com a aplicação, causa confusão. Acredito que outros alunos pensarão o mesmo que eu.

1 resposta

Olá Diego, como vai?

Sentimos muito pela demora em te retornar.

Sobre o primeiro curso de banco de dados, onde utilizamos o DbContext, como foi algo introdutório, e como precisávamos entender de uma forma mais direta como o Entity funciona, acredito que com o DbContext acaba ficando mais claro e simples.

Já utilizando a BaseRepository o projeto com um modelo de negócio/domínio complexo acaba tendo uma vantagens com a utilização do Repository. Ele fornece uma abstração que não apenas isola os objetos de negócios do código de acesso ao banco de dados, mas também fornece uma separação clara de interesses de uma maneira orientada a objetos.

Inclusive, no próprio artigo que você trouxe, fala sobre a vantagem da utilização do mesmo.

Agora sobre qual usar, acredito que seja realmente interessante você entender dos dois. Para acompanhar este curso é bacana que trabalhemos com o Repository mesmo. Mas para projetos pessoas, talvez um projeto pequeno, acabe se encaixando melhor a utilização do DbContext.

Abraços!