Entity Framework
- #.NET Core
- #Object-relational mapping (ORM)
ENTENDENDO UM POUCO SOBRE O ENTITY FRAMEWORK
O Entity Framework é um ORM (Mapeador relacional de objeto) que permite que o Dev em .NET trabalhe com banco de dados usando objetos .NET.
Ele possui 3 linhas principais de utilização: Database first; Model first; Code first.
Database first à tem como objetivo ler o banco de dados e aplicar uma engenharia reversa carregando as classes que representarão as tabelas do banco;
Model first --> permite gerar primeiro um modelo e a partir dele gerar a base de dados.
Code first --> se cria primeiro as classes de entidade e deixa para o entity a responsabilidade de criar o banco de dados. Essas classes são conhecidas como POCO (Plan Old CLR Objects) que são classes que utilizam apenas os tipos do .NET Framework.
Data annotations —> recurso que permite que seja adicionado atributos e métodos nas classes para alterar convenções e personalizar comportamentos;
Principais atributos: Required (1), RegularExpression (2), Display(3), StringLength (4), MinLength (5)
(1): significa campo obrigatório;
(2): valida campo por expressão regular;
(3): nome a ser mostrado em todas as interfaces de usuário;
(4) determina a quantidade máxima de caracteres que poderá ser informada;
(5) determina a quantidade mínima de caracteres que poderá ser informada.
Display format --> formato a ser exibido nas interfaces de usuário;
Range --> define a faixa de dados aceita pela propriedade.
Migrations --> é um recurso que oferece uma maneira de atualizar de forma incremental o esquema de banco de dados para manter em sincronia com o modelo de classe do seu projeto preservando os dados existentes no banco de dados. Além disso, é possível realizar downgrade caso queira voltar o banco de dados para a versão anterior.
Padrão MVC --> MVC é um padrão de arquitetura que divide a aplicação em três comandos: a visão (view), o modelo (model) e o controlador. O MVC é um padrão utilizado devido a sua arquitetura que possibilita separar o projeto em camadas onde cada uma delas executa uma função.