Date:

Fluent API – DEV Community

Configurando o Entity Framework Core com Fluent API

Ao trabalhar com o Entity Framework Core, existem convenções que são feitas no EF. No entanto, às vezes você pode desejar não seguir essas convenções e fazer algo diferente. As duas maneiras de fazer isso são usando Annotations e FluentAPI.

Exemplos de convenções

Algumas das convenções feitas pelo EF Core incluem:

  • Chave Primária: Propriedades chamadas ID ou <nomeclasse>Id</nomeclasse> são automaticamente configuradas como chaves primárias.
  • Colunas: O EF Core cria colunas para todas as propriedades de uma classe de entidade com o mesmo nome da propriedade por padrão.

Configurando o Model

A configuração do modelo é feita usando a classe ModelBuilder, que é uma Fluent API. Com essa classe, podemos configurar o mapeamento do modelo dos bancos de dados. Isso inclui o schema padrão, funções do banco de dados, atributos adicionais de Data Annotation e entidades a serem excluídas do mapeamento.

Configurando a Entidade

A configuração da entidade é feita usando a classe Entity. Essa classe é responsável por configurar as tabelas da entidade e mapear os relacionamentos.

Configurando a Propriedade

A configuração da propriedade é feita usando a classe Property. Essa classe é responsável por configurar as propriedades do mapeamento da coluna, incluindo nome, valor padrão, nullabilidade, tipo de dados, coluna de concorrência, entre outros.

Exemplos de aplicações

O Fluent API é particularmente útil quando precisamos personalizar configurações que vão além das anotações de atributos nas classes, como por exemplo:

  • Configurações avançadas de relacionamentos
  • Configurações não suportadas por Data Annotation
  • Configurações globais e reutilizáveis
  • Definição de tipos de propriedade
  • Validações complexas

Reflexo no Banco de Dados SQL

A seguir, é apresentado o exemplo de como o código C# é refletido no banco de dados SQL:

CREATE TABLE Telefone (
  Id INT PRIMARY KEY,
  DDD VARCHAR(3),
  Numero VARCHAR(9),
  TipoTelefoneID INT,
  RestauranteID INT
);

Conclusão

O Fluent API é um recurso mais avançado que o Data Annotation e é útil quando precisamos personalizar configurações que vão além das anotações de atributos nas classes. Isso permite maior flexibilidade e controle sobre o mapeamento entre as entidades e o banco de dados.

Perguntas Frequentes (FAQs)

Q: O que é o Fluent API?
A: O Fluent API é uma classe que é usada para configurar o mapeamento do modelo dos bancos de dados no Entity Framework Core.

Q: Qual é a diferença entre Fluent API e Data Annotation?
A: A Data Annotation é um recurso mais simples que é usado para decorar classes com anotações para configurar o mapeamento, enquanto o Fluent API é um recurso mais avançado que é usado para configurar o mapeamento de forma programática.

Q: Quando usar Fluent API?
A: Você deve usar o Fluent API quando precisar personalizar configurações que vão além das anotações de atributos nas classes, como configurações avançadas de relacionamentos, configurações não suportadas por Data Annotation, configurações globais e reutilizáveis, definição de tipos de propriedade e validações complexas.

Latest stories

Read More

LEAVE A REPLY

Please enter your comment!
Please enter your name here