Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»Quando escolher DataBase First ou Code First com Entity Framework

    Quando escolher DataBase First ou Code First com Entity Framework

    Jhonathan SoaresBy Jhonathan Soares6 de janeiro de 20172 Mins Read Asp.net
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Quem já trabalhou com Entity, sabe que existem 3 abordagens através do qual Entity framework é implementada.

    • DataBase First
    • Code First
    • Model First

    Destes, DB First e Code First são os mais utilizados. E neste artigo vou discutir estas duas abordagens.

    Primeiro vamos entender o que é um e o que é o outro:

    Code First : Neste modelo, vamos primeiro criar classes de entidade com as propriedades definidas na mesma. A estrutura de entidade irá criar o banco de dados e tabelas com base nas classes de entidade definidas. Assim a base de dados é gerada a partir do código.

    Vantagens:

    • Você pode criar o banco de dados e tabelas de seus objetos de negócios.
    • Você pode especificar quais coleções relacionadas são carregadas, serializadas, ou não.
    • Controle de versão de banco de dados.
    • Bom para pequenas aplicações.

    Desvantagens:

    • Você tem que escrever tudo relacionado ao banco de dados nas suas classes de entidade.
    • A utilização de stored procedures se torna um pouco mais trabalhosa, necessitando a utilização de Fluent API
    • Se você quiser mudar algo no banco de dados, primeiro precisa alterar o código de classes de entidade e depois executar um update via package console.

    DB First: Nesta abordagem de banco de dados, as tabelas são criadas em primeiro lugar. Em seguida, você cria entidade modelo de dados usando o banco de dados criado como base.

    Vantagens:

    • Simples para criar o modelo de dados dependendo do banco utilizado.
    • Interface gráfica na criação de tabelas e estruturas.
    • Mapeamento e criação de chaves e relacionamentos são fáceis, você não precisa ter que escrever qualquer código.
    • Preferidos para grandes aplicações e/ou uso de dados intenso.

    Desvantagens:

        • Usando um banco de dados existente para gerar um arquivo de modelo .edmx pode se tornar uma grande dor de cabeça, com inúmeras classes desnecessárias.

    Quando você precisa adicionar qualquer funcionalidade ao modelo gerado você tem que estender a classe modelo gerado.

    Escolher a abordagem adequada é puramente baseado nas aplicações que estão em desenvolvimento, no seu modelo de negócio, na complexidade e tamanho.

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    Boas práticas de criação, armazenamento e validação de senhas em .NET

    Asp.net Boas práticas 9 de julho de 20248 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile