Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

DataBase First VS Code First

Estamos começando um projeto que já tem um banco de dados legado, mas bem modelado. O novo projeto será todo em . NET Core. O que é mais vantajoso e de longa vida na comunidade e Microsoft, DataBase First ou Code First?

Obrigado!

3 respostas

Oi, Valterlei, boa tarde.

Longa vida na comunidade e Microsoft: Code First, sem sombra de dúvidas. Devido a crescente distribuição de informações e sistemas, cada vez mais estamos movendo as regras de negócio para aplicações onde o time de desenvolvimento tem maior controle e conhecimento. Com isso dependemos menos dos bancos de dados.

Porém conforme você mencionou seu banco de dados está bem modelado. Talvez o esforço de mover toda a lógica de negócio para o código seja alto. Outra avaliação que vocês devem fazer é o grau de relacionamentos entre as tabelas do banco. É alto a ponto de exigir SELECTs com inúmeros JOINs ou VIEWs para reaproveitá-los? Então até a decisão de mover essa lógica de recuperação de dados para o Entity (seja via Code First ou Database First) deva ser repensada, pois pode levar a degradação de performance e a um maior esforço de desenvolvimento.

Ou seja, depende...

Qualquer coisa responde aqui que exploramos mais o assunto.

Abraços!

Olá Daniel, boa noite!

Muito obrigado pelo retorno. Aproveitando sua experiência e ajuda, seria possível realizarmos o Database First (ganharia tempo) e depois continuarmos com os modelos criados, adicionando os campos, validações e outros como se fosse o Code First? Se isso for possível, seria somente usar os procedimentos para Database First e depois Code First, ou tem mais algo à ser configurado?

Abs.,

solução!

Seria possível sim, Valterlei. Começa fazendo um scaffolding do contexto (classe que herda de DbContext) e a partir daí vc segue evoluindo o modelo OO e usando Migrations para atualizar o banco.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software