PRÉ
LANÇAMENTO
 

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 - [Em Breve]
  •    17/01/2021
    Gravando dados de forma segura
  •    17/01/2021
    O que é TransactionScope?
  •    17/01/2021
    Usando o escopo de transação
  •    17/01/2021
    Definindo Comportamentos do escopo da transação
  •    17/01/2021
    Níveis de Isolamento
  •    17/01/2021
    Salvar ponto de uma transação
  •    17/01/2021
    Especificar um Identificador para Transação
  Aplicação MultiTenant - [Em Breve]
  •    01/02/2021
    O que é uma aplicação multitenant?
  •    01/02/2021
    Criando uma solution
  •    01/02/2021
    Criando um projeto Web API
  •    01/02/2021
    Criando as entidades da aplicação
  •    01/02/2021
    Criando o arquivo de contexto
  •    01/02/2021
    Quais possíveis estratégias de MultiTenant podemos usar?
  •    01/02/2021
    Aplicando o multitenant em sua aplicação
  UDFs (Funções definidas pelo usuário) - [Em Breve]
  •    01/02/2021
    O que é DbFunctions?
  •    01/02/2021
    Criando um método e utilizando o atributo DbFunction
  •    01/02/2021
    O que é o método HasDbFunction?
  •    01/02/2021
    Criando um método complexo para ser traduzido para o servidor
  Performance - [Em Breve]
  •    04/02/2021
    AsNoTracking vs AsTracking e sua anotomia
  •    04/02/2021
    Melhores abordagens de uso para obter performance
  •    04/02/2021
    Resolução de identidade e suas vantagens
  Migrations - [Em Breve]
  •    06/02/2021
    Gerando uma migração
  •    06/02/2021
    Analisando os arquivos da migração
  •    06/02/2021
    Aplicando a migração no banco de dados
  •    06/02/2021
    Alterando um modelo de dados e gerando uma nova migração
  •    06/02/2021
    Entendendo a nova migração e aplicando no banco de dados
  •    06/02/2021
    Reverter uma migração (Rollback)
  •    06/02/2021
    Reverter para um linha do tempo de migrações
  •    06/02/2021
    Omitir o método OnConfiguring com Scaffold(Engenharia reversa)
  •    06/02/2021
    Informando provider e string de conexão no Scaffold(Engenharia reversa)
  Acessando outros bancos de dados - [Em Breve]
  •    16/02/2021
    Usando o banco de dados PostgreSQL
  •    16/02/2021
    Usando o banco de dados SQL Server
  •    16/02/2021
    Usando o banco de dados SQLite
  •    16/02/2021
    Usando o banco de dados CosmosDB
  •    16/02/2021
    Usando o banco de dados InMemory
  Padrão Repository & UoW - [Em Breve]
  •    16/02/2021
    O que é Repository Pattern?
  •    16/02/2021
    O que é UoW (Unit Of Work)?
  •    16/02/2021
    Criando um repositório
  •    16/02/2021
    Definindo uma estratégia de uso do padrão
  •    16/02/2021
    Implementando um UoW (Unit-Of-Work)
  Dicas e Truques - [Em Breve]
  •    16/02/2021
    Usando o CompareTO
  •    16/02/2021
    Usando o FirstOrDefault
  •    16/02/2021
    Colunas computadas (persistentes) armazenadas
  •    16/02/2021
    Obtendo instrução SQL usando o ToQueryString
  •    16/02/2021
    Usando o método IsRelational para validar provider selecionado
  •    16/02/2021
    Criando consultas em tabelas sem chave primária
  •    16/02/2021
    Visão de depuração dos objetos
  •    16/02/2021
    Resetando o estado do Contexto
  •    16/02/2021
    Resolvendo conflitos de simultaneidade
  •    16/02/2021
    Cache de segundo nível
  •    16/02/2021
    Consultas Filtradas
  •    16/02/2021
    Usando operadores de consulta complexa
  Testes - [Em Breve]
  •    16/02/2021
    Criando projeto de testes
  •    16/02/2021
    Criando estrutura de arquivos de testes
  •    16/02/2021
    Executando testes usando banco de dados InMemory
  •    16/02/2021
    Executando testes usando banco de dados Sqlite
  Expressions - [Em Breve]
  •    08/01/2021
    Expression<Func<T,bool>> vs Func<T,bool>
  •    08/01/2021
    Entendendo IQueryable+Entity Framework Core
  •    08/01/2021
    O que é ExpressionVisitor?
  •    08/01/2021
    Construindo um analisador de Expressions
  •    08/01/2021
    Descontruindo uma expression e recuperando seus dados
  Sobrescrevendo comportamentos do EF Core - [Em Breve]
  •    16/02/2021
    Conhecendo o coração do EF Core a QuerySqlGenerator
  •    16/02/2021
    Entendendo os principais métodos e suas responsabilidade
  •    16/02/2021
    Sobrescrevendo comportamentos de geração dos comandos SQL
  •    16/02/2021
    Sobrescrevendo consultas e implementando Hints Customizados
  Diagnostics - [Em Breve]
  •    16/02/2021
    O que é DiagnosticListener?
  •    16/02/2021
    Criando um Listener para interceptar comandos
  •    16/02/2021
    Criando um Listener para interceptar os comandos do EF Core
  •    16/02/2021
    Interceptando um comando de consulta e adicionando um Hint (NOLOCK)
  Encerramento - [Em Breve]
  •    16/02/2021
    Agradecimentos
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)

Atenção, este curso é um pré-lançamento e as aulas serão entregues por módulos. Confira as datas de liberação de cada módulo na nossa ementa.

FAQ

Já que é um pré-lançamento por quanto tempo terei acesso ao curso?

Durante nosso pré lançamento estamos oferecendo 2 anos de acesso para você ter muito tempo para estudar.
Adquirindo um curso em pré-lançamento nós garantimos ainda no mínimo 1 ano de acesso após a entrega total do curso.

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?

Você pode participar das Lives de tira-dúvidas ou encaminhar sua dúvida por e-mail.
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.