Entity Framework - Code First Approach

O Entity Framework fornece três abordagens para criar um modelo de entidade e cada uma tem seus próprios prós e contras.

  • Código Primeiro
  • Banco de dados primeiro
  • Modelo primeiro

Neste capítulo, descreveremos brevemente a primeira abordagem do código. Alguns desenvolvedores preferem trabalhar com o Designer no Código, enquanto outros preferem apenas trabalhar com seu código. Para esses desenvolvedores, o Entity Framework tem um fluxo de trabalho de modelagem conhecido como Code First.

  • O fluxo de trabalho de modelagem do Code First visa um banco de dados que não existe e o Code First o criará.

  • Ele também pode ser usado se você tiver um banco de dados vazio e, em seguida, Code First adicionará novas tabelas também.

  • Code First permite que você defina seu modelo usando classes C # ou VB.Net.

  • A configuração adicional pode ser executada opcionalmente usando atributos em suas classes e propriedades ou usando uma API fluente.

Por que codificar primeiro?

  • O Code First é realmente composto de um conjunto de peças de um quebra-cabeça. Em primeiro lugar estão suas classes de domínio.

  • As classes de domínio não têm nada a ver com o Entity Framework. Eles são apenas os itens do domínio do seu negócio.

  • Entity Framework, então, tem um contexto que gerencia a interação entre essas classes e seu banco de dados.

  • O contexto não é específico para Code First. É um recurso do Entity Framework.

  • Code First inclui um construtor de modelo que inspeciona suas classes que o contexto está gerenciando e, em seguida, usa um conjunto de regras ou convenções para determinar como essas classes e os relacionamentos descrevem um modelo e como esse modelo deve ser mapeado para seu banco de dados.

  • Tudo isso acontece em tempo de execução. Você nunca verá este modelo, está apenas na memória.

  • A Code First tem a capacidade de usar esse modelo para criar um banco de dados, se necessário.

  • Ele também pode atualizar o banco de dados se o modelo mudar, usando um recurso chamado Code First Migrations.