Dominando o Entity Framework Core

Um guia definitivo para você dominar por completo este poderoso ORM

Professor:
Rafael Almeida
Nível:
(Avançado)
Categoria(s):
Acesso a Dados
Ementa
apresentação
Instrutor
Dominando o Entity Framework Core

  Introdução
  Setup do Ambiente
  • Instalação do .NET 5 e SQL Server (4:00)
  • Criando um projeto via CLI (5:00)
  • Criando classes de entidades (11:00)
  EF Database
  • Introdução (2:00)
  • Para que serve o Ensure Deleted/Created? (5:00)
  • Resolvendo GAP do EnsureCreated para múltiplos contextos (8:00)
  • HealthCheck do banco de dados (6:00)
  • Gerenciando o estado da Conexão (8:00)
  • Conhecendo os comandos ExecuteSql (6:00)
  • Como se proteger de ataques do tipo SQL Injection? (7:00)
  • Detectando migrações Pendentes (6:00)
  • Forçando uma migração (4:00)
  • Recuperando todas as migrações existentes em sua aplicação (4:00)
  • Recuperando migrações aplicadas em seu banco de dados (5:00)
  • Gerando o script de criação SQL do modelo de dados (3:00)
  • Teste os seus conhecimentos (3:00)
  Tipos de carregamento - DeepDive
  • Tipos de carregamentos (1:00)
  • Consultando dados usando carregamento adiantando (Eager) (6:00)
  • Consultando dados usando carregamento explícito (Explicitly) (9:00)
  • Consultando dados usando carregamento lento (LazyLoad) (17:00)
  • Teste os seus conhecimentos (4:00)
  Consultas
  • Introdução a consultas (2:00)
  • Configurando um filtro global (7:00)
  • Ignorando filtros globais (2:00)
  • Criando consultas projetadas (8:00)
  • Criando consultas parametrizadas (7:00)
  • Criando consultas interpoladas (4:00)
  • Usando o recuso TAG em suas consultas para auditar comandos (3:00)
  • Entendendo a diferença em consultas 1xN vs Nx1 (7:00)
  • Divisão de consultas com SplitQuery (9:00)
  Stored Procedures
  • Introdução (1:00)
  • Criando uma procedure de inserção (5:00)
  • Executando inserção via procedure (4:00)
  • Criando uma procedure de consulta (3:00)
  • Executando uma consulta via procedure (7:00)
  Infraestrutura
  • Introdução (2:00)
  • Configurando um log simplificado (6:00)
  • Filtrando eventos de seus logs (7:00)
  • Gravando seus logs em um arquivo (5:00)
  • Habilitando erros detalhados (5:00)
  • Habilitando visualização dos dados sensíveis (5:00)
  • Habilitando Batch Size (6:00)
  • Configurando o Timeout do comando global (4:00)
  • Configurando o Timeout do comando para um fluxo (2:00)
  • Habilitando resiliência para sua aplicação (4:00)
  • Criando uma estratégia de resiliência (4:00)
  Modelo de dados
  • Introdução (2:00)
  • Collations (9:00)
  • Sequencias (8:00)
  • Índices (10:00)
  • Propagação de dados (7:00)
  • Esquemas (4:00)
  • Conversores de Valores (10:00)
  • Criando um conversor de valor customizado (13:00)
  • O que é Shadow Properties (7:00)
  • Configurando uma propriedade de sombra (3:00)
  • Inserindo e Consultando dados usando uma propriedade de sombra (6:00)
  • Owned Types (12:00)
  • Configurando Relacionamento um-para-um (15:00)
  • Configurando Relacionamento um-para-muitos (5:00)
  • Configurando Relacionamento muitos-para-muitos (9:00)
  • Customização muitos-para-muitos (5:00)
  • Campo de apoio (7:00)
  • Configurando modelo de dados com TPH (12:00)
  • Configurando modelo de dados do TPT (5:00)
  • Sacola de propriedades (7:00)
  Atributos - DataAnnotations
  • Introdução (2:00)
  • Atributo Table (5:00)
  • Atributo Inverse Property (5:00)
  • Atributo NotMapped (3:00)
  • Atributo Database Generated (6:00)
  • Atributo Index (3:00)
  • Atributo Comment (3:00)
  • Atributo Backing Field (2:00)
  • Atributo Keyless (2:00)
  EF Functions
  • Introdução (1:00)
  • Funções de datas (11:00)
  • Função Like (5:00)
  • Função DataLength (6:00)
  • Função Property (7:00)
  • Função Collate (4:00)
  Interceptação
  • Introdução (1:00)
  • O que são interceptadores de comandos? (3:00)
  • Criando e registrando um interceptador (5:00)
  • Sobrescrevendo métodos da classe base (6:00)
  • Aplicando hint NOLOCK nas consultas (6:00)
  • Interceptando abertura de conexão com o banco (6:00)
  • Interceptando alterações (5:00)
  Transações
  • Introdução (1:00)
  • O que é transação? (6:00)
  • Comportamento padrão do EF Core (5:00)
  • Gerenciando transação manualmente (8:00)
  • Revertendo uma transação (5:00)
  • Salvando ponto de uma transação (7:00)
  • Usando TransactionScope (6:00)
  UDFs (Funções definidas pelo usuário)
  • Introdução (1:00)
  • O que é UDF? (2:00)
  • Built-In Function (9:00)
  • Registrando Funções (6:00)
  • Registrando Funções Via Fluent API (5:00)
  • Função defina pelo usuário (4:00)
  • Customizando uma função complexa (14:00)
  Performance
  • Introdução (1:00)
  • Tracking vs NoTracking (7:00)
  • Resolução de Identidade (10:00)
  • Desabilitando rastreamento de consultas (4:00)
  • Consulta projeta e rastreada (5:00)
  • Consultas Projetas (8:00)
  Migrations
  • Introdução (2:00)
  • Migrações (2:00)
  • Dependências necessárias para criar uma migração (9:00)
  • Gerando uma migração (5:00)
  • Analisando arquivos da migração (5:00)
  • Gerando script SQL (4:00)
  • Gerando script SQL idempotente (5:00)
  • Aplicando migração no banco de dados (7:00)
  • Desfazendo migrações (9:00)
  • Migrações pendentes (5:00)
  • Engenharia reversa (11:00)
  Acessando outros bancos de dados
  • Introdução (1:00)
  • Provider PostgreSQL (10:00)
  • Provider SQLite (6:00)
  • Provider InMemory (4:00)
  • Provider Azure Cosmos DB (8:00)
  Aplicação MultiTenant
  • Introdução (1:00)
  • Arquitetura Multi-tenant (2:00)
  • Single-tenant vs Multi-tenant (8:00)
  • Estratégias Multi-tenant (6:00)
  • Criando o projeto (4:00)
  • Instalando dependências (3:00)
  • Preparando o ambiente (12:00)
  • Estratégia 1 - Identificar na tabela (15:00)
  • Estratégia 2 - Schema (22:00)
  • Estratégia 3 - Banco de dados (15:00)
  Padrão Repository & UoW
  • Introdução (1:00)
  • O que é Repository Pattern? (4:00)
  • O que é Unit-Of-Work? (4:00)
  • DbContext já é um padrão Repository & UoW (5:00)
  • Preparando o Ambiente (10:00)
  • Implementando Repository Pattern (17:00)
  • Implementando Persistência na API (8:00)
  • Implementando UoW - Estratégia I (7:00)
  • Implementando UoW - Estratégia II (6:00)
  • Criando um Repositório Genérico (22:00)
  • Consulta com Repositório Genérico (4:00)
  Dicas e Truques
  • Introdução (2:00)
  • Preparando o ambiente (8:00)
  • Método ToQueryString (6:00)
  • Análise com DebugView (5:00)
  • Redefinindo o estado do contexto (3:00)
  • Include com consultas filtradas (3:00)
  • SingleOrDefault vs FirstOrDefault (8:00)
  • Tabela sem chave primária (5:00)
  • Usando Views de seu banco de dados (8:00)
  • Forçando o uso do VARCHAR (5:00)
  • Aplicando conversão de nomenclatura (6:00)
  • Operadores de agregação (6:00)
  • Operadores de agregação no agrupamento (3:00)
  • Contadores de eventos (7:00)
  Testes
  • Introdução (1:00)
  • Preparando o ambiente (4:00)
  • Criando entidade e contexto (3:00)
  • Criando testes usando o provider InMemory (14:00)
  • Criando testes usando o provider SQLite (11:00)
  Sobrescrevendo comportamentos do EF Core
  • Introdução (1:00)
  • Preparando o ambiente (3:00)
  • Criando entidade e contexto (4:00)
  • Gerador SQL customizado (8:00)
  • Criando factory do gerador SQL (6:00)
  • Usando o gerador SQL customizado (3:00)
  Diagnostics
  • Introdução (1:00)
  • O que é Diagnostic Source? (2:00)
  • Criando um interceptador (7:00)
  • Criando um listener (3:00)
  • Assinando o listener e validando (4:00)
  Encerramento
  • Agradecimentos (1:00)
Dominando o Entity Framework Core

A Microsoft revolucionou o desenvolvimento de aplicações com o .NET Core e reescreveu do zero o Entity Framework na versão Core, que está muito mais poderoso e performático.

Neste curso você vai aprender todos as funcionalidades, técnicas e abordagens para dominar por completo o Entity Framework Core, é um guia definitivo para você se tornar um especialista neste poderoso ORM


Este curso utiliza a versão mais nova do .NET Core (5.0)

FAQ

Por quanto tempo terei acesso ao curso?

1 ano de acesso parece bom? :)

O treinamento é teórico e prático?

Sim, o curso Dominando o Entity Framework Core aborda toda a teoria que depois é colocada em prática durante o desenvolvimento da aplicação no decorrer do curso.

Como eu tiro minhas dúvidas após o curso?

Encaminhe sua dúvida por e-mail ([email protected])
Em breve nós teremos um fórum de dúvidas para cada curso.

Posso assistir o curso por tablet ou smartphone?

Sim, qualquer device é suportado.

Rafael Almeida
Microsoft MVP

Rafael Almeida é Microsoft MVP, arquiteto e desenvolvedor de software, palestrante, instrutor e contribuidor de projetos open source, dentre eles o Entity Framework Core.

Casado, pai da Eduarda e Heloysa, autodidata, apaixonado por tecnologia, em especial arquitetura de software e acesso a dados. 

Tem mais 14 anos de experiência com desenvolvimento de software. Já trabalhou em muitos projetos de desenvolvimento de software, com foco especial em .NET, design/desenvolvimento de banco de dados.

Apaixonado por projetos de código aberto, devops, arquitetura de microsserviços, transformação digital e acesso a dados de alto desempenho, é um curioso da tecnologia blockchain.

Adora compartilhar conhecimento e aprender novas tecnologias. Sempre focando em resolver problemas e ajudar as pessoas.

Sua stack de paixões são:

.NET, Apache Kafka, Entity Framework Core, gRPC, PostgreSQL, ScyllaDB (seu caçula) e acesso a dados de alta performance.