Entity Framework 6 [MVP ShowCast 2013 - DEV - Plataforma de dados & Business Intelligence (DEV)]
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Entity Framework 6 [MVP ShowCast 2013 - DEV - Plataforma de dados & Business Intelligence (DEV)]

on

  • 414 views

Palestra: Entity Framework 6 ...

Palestra: Entity Framework 6
Palestrante: Rogério Moraes de Carvalho
Realização: 06/12/2013 17h
Trilha: Plataforma de dados & Business Intelligence (DEV)
Sessão: Desenvolvimento
Evento: MVP ShowCast 2013
Site: http://mvpshowcast.azurewebsites.net

Statistics

Views

Total Views
414
Views on SlideShare
414
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Entity Framework 6 [MVP ShowCast 2013 - DEV - Plataforma de dados & Business Intelligence (DEV)] Presentation Transcript

  • 1. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) MVP ShowCast 2013 Entity Framework 6 Rogério Moraes de Carvalho Visual C# Diretor de Tecnologia – VITA Informática @rogeriomc rogeriomc.wordpress.com © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 2. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Agenda ♦ Object-Relational Mapping (ORM) ♦ Entity Framework ♦ Código aberto ♦ Modelos de desenvolvimento ♦ Entity Framework e LINQ para Entidades ♦ Novidades do Entity Framework 6 ♦ Instalação do Entity Framework 6 ♦ Convenções Code First personalizadas (Demonstração 1) ♦ Logging de comandos de banco de dados (Demonstração 2) ♦ Mapeamento Code First de stored procedures (Demonstração 3) ♦ Consulta e salvamento assíncrono (Demonstração 4) ♦ Alguns recursos para estudo do Entity Framework ♦ Perguntas & Respostas © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 3. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Object-Relational Mapping (ORM) ♦O que é Object-Relational Mapping (ORM)? ♦ Técnica de desenvolvimento que permite automatizar tarefas de POO com dados armazenados em bancos de dados relacionais ♦ Frameworks mapeiam objetos de domínio a objetos de banco de dados e geram comandos em SQL ♦Principais frameworks de ORM para .NET ♦ Entity Framework (Open Source – Microsoft) ♦ (Open Source – http://nhforge.org) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 4. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Entity Framework ♦O que é o Entity Framework (EF)? ♦ Framework da Microsoft para mapear objetos de domínio para dados relacionais ♦Versão estável atual ♦ Entity Framework 6.0.1 ♦ Liberada em 18 de outubro de 2013 ♦ Junto com o Visual Studio 2013 RTM e o Windows 8.1 GA ♦Desenvolvimento do Entity Framework ♦ Time do Entity Framework da Microsoft em colaboração com a comunidade de desenvolvedores open source © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 5. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Código aberto ♦Entity Framework no CodePlex ♦ http://entityframework.codeplex.com ♦Diversos recursos disponíveis ♦ Código-fonte (Source code) ♦ Compilações noturnas (Nightly builds) ♦ Documentação (Documentation) ♦ Especificações de características (Feature specs) ♦ Acompanhamento de problemas (Issue tracking) ♦ Notas de reuniões de design (Design meeting notes) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 6. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Modelos de desenvolvimento Baseado no designer Baseado em codificação Banco existente Code First Database First Novo banco Model First Code First ♦ Criação do modelo .edmx no designer ♦ Geração do banco de dados do .edmx ♦ Geração automática de classes do .edmx ♦ ♦ Engenharia reversa para o modelo .edmx Geração automática de classes do .edmx © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. ♦ Definição de classes e mapeamento no código ♦ Criação do banco de dados do código ♦ Migrations aplica mudanças do modelo no banco ♦ Definição de classes e mapeamento no código (ferramentas de engenharia reversa disponíveis)
  • 7. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Entity Framework e LINQ para Entidades from f in db.Fornecedores where f.UF == "DF" select f Consulta LINQ db: instância de DbContext Aplicação Entidades db.Fornecedores.Add(f1); f2.UF = "SP"; db.Fornecedores.Remove(f3); db.SaveChanges() Entity Framework Registros Consulta SQL SELECT Id, NomeEmpresa, ... FROM Fornecedores WHERE UF = 'DF' DML ou Stored Procedures Banco de dados © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. INSERT INTO Fornecedores … UPDATE Fornecedores … DELETE FROM Fornecedores …
  • 8. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) NOVO Novidades do Entity Framework 6 EF6 Code First & EF Designer Somente Code First ♦ Consulta e salvamento assíncrono ♦ Resiliência de conexão ♦ Configuração baseada em código ♦ Intercepção/Logging de comandos de banco de dados ♦ Melhorias de desempenho ♦ Convenções personalizadas ♦ Stored procedures de inclusão, atualização e exclusão © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 9. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) NOVO Novidades do Entity Framework 6 EF6 Do time do EF na Microsoft Dos contribuidores ♦ Tipos entidades aninhados ♦ Suporte melhorado a transações ♦ Múltiplos contextos por banco ♦ DbModelBuilder.HasDefaultSchema ♦ Histórico de migrações configurável ♦ Criação de contexto com uma conexão aberta ♦ Enums e tipos espaciais no .NET 4 ♦ READ_COMMITTED_SNAPSHOT ♦ Operações de migração personalizadas ♦ Melhorias de carregamento para grandes modelos ♦ Serviço de pluralização e singularização possível de plugar ♦ DbModelBuilder.Configurations .AddFromAssembly ♦ DbSet.AddRange/RemoveRange © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 10. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) NOVO Instalação do Entity Framework 6 EF6 ♦O Entity Framework tem dois componentes: ♦ EF Tools for Visual Studio ♦ EF Runtime ♦EF Tools for Visual Studio ♦ O Entity Framework 6 Tools já vem incluído no Visual Studio 2013 ♦ No Visual Studio 2012, ele está disponível no Microsoft Download Center ♦ http://www.microsoft.com/en-us/download/details.aspx?id=40762 ♦EF Runtime ♦ A última versão do EF está disponível no pacote NuGet EntityFramework ♦ Última versão estável do pacote publicada: 6.0.1 (17/10/2013) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 11. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) NOVO Convenções Code First personalizadas ♦Descrição ♦ Configurações em massa para múltiplas entidades e propriedades ♦Necessidade ♦ Evitar configurações repetitivas e sujeitas a erro ♦Casos de uso ♦ Padrões no seu modelo que não seguem as convenções Code First ♦ Como em nomenclaturas de chaves primárias ♦ Mudança de convenções padrão que não te agradam ♦ Como nomenclatura de colunas e mapeamento de tipos de dados © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. EF6
  • 12. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Demonstração 1: Convenções Code First personalizadas ♦Criação de uma Class Library ♦ MvpShowCast.Dados ♦ Criação de entidades ♦ Trilha ♦ IdTrilha: int ♦ Nome: string ♦ Palestras: List<Palestra> ♦ Palestrante ♦ IdPalestrante: int ♦ Nome: string ♦ Empresa: string ♦ Ocupacao: string ♦ Palestras: List<Palestra> © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. NOVO EF6 ♦ Palestra ♦ IdPalestra: int ♦ Titulo: string ♦ Inicio: DateTime ♦ IdTrilha: int ♦ Trilha: Trilha ♦ IdPalestrante: int ♦ Palestrante: Palestrante ♦ Criação do MvpShowCastContext ♦ Criação de convenções personalizadas ♦Criação de uma Aplicação Console ♦ MvpShowCast.ConsoleApp ♦ Para consulta e salvamento de dados
  • 13. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Logging de comandos de banco de dados ♦Descrição ♦ Log de todo comando enviado para o banco de dados ♦Necessidade ♦ Maneira simples de verificar o que está acontecendo nos bastidores ♦Casos de uso ♦ Entendimento e aprendizado do Entity Framework ♦ Como a tradução de instruções LINQ para o dialeto SQL do banco de dados ♦ Depuração de resultados e comportamentos inesperados ♦ Auxiliar na solução de problemas de desempenho © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. NOVO EF6
  • 14. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Demonstração 2: Logging de comandos de banco de dados ♦DbContext.Database.Log: Action<string> © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. NOVO EF6
  • 15. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Mapeamento Code First de stored procedures NOVO EF6 ♦Descrição ♦ Configuração de stored procedures para inclusão, atualização e exclusão ♦Necessidade ♦ Muitas empresas obrigam o uso de stored procedures ♦Casos de uso ♦ Mapeamento para bancos de dados existentes que usam stored procedures ♦ Regras de modelagem que obrigam o uso de stored procedures ♦ Necessidade de executar regras de negócios com melhor desempenho dentro do banco de dados ♦ O EF não pode mapear para o esquema do seu banco de dados © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 16. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Demonstração 3: Mapeamento Code First de stored procedures ♦API Fluente do Code First ♦ modelBuilder.Entity<TEntidade>().MapToStoreProcedures() © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. NOVO EF6
  • 17. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) NOVO Consulta e salvamento assíncrono EF6 ♦Descrição ♦ Task-based Asynchronous Pattern (TAP) para consulta e salvamento ♦Necessidade ♦ Apropriado para melhorar o desempenho e a escalabilidade ♦Casos de uso ♦ Redução no uso de recursos do servidor ♦ Liberação de threads bloqueadas ♦ Melhoria na resposta de aplicações com interface gráfica ♦ Liberação da thread principal, responsável pela “renderização” da interface gráfica ♦ Paralelismo ♦ Num contexto de instância distinto © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 18. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Demonstração 4: Consulta e salvamento assíncrono ♦DbContext.SaveChangesAsync() ♦Método de extensão ToListAsync() © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. NOVO EF6
  • 19. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Alguns recursos para estudo do Entity Framework ♦ MSDN Data Developer Center – Entity Framework ♦ http://msdn.com/data/ef ♦ Projeto do Entity Framework no CodePlex ♦ http://entityframework.codeplex.com ♦ Rowan Miller – Program Manager do time de ADO.NET Entity Framework ♦ http://romiller.com ♦ Livros da Julia Lerman ♦ Programming Entity Framework: Code First ♦ http://shop.oreilly.com/product/0636920022220.do ♦ Programming Entity Framework: DbContext ♦ http://shop.oreilly.com/product/0636920022237.do © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
  • 20. SESSÃO: DESENVOLVIMENTO TRILHA: PLATAFORMA DE DADOS & BUSINESS INTELLIGENCE (DEV) Perguntas & Respostas Entity Framework 6 Rogério Moraes de Carvalho Visual C# Diretor de Tecnologia – VITA Informática @rogeriomc rogeriomc.wordpress.com © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.