Entity Framework 4.0,
Novas Funcionalidades
Caio Proiete

•   10 anos de experiência profissional em TI
•   Microsoft Most Valuable Professional
•   Microsoft Certified Trainer @ CICLO
•   Líder da Comunidade NetPonto
Entity Framework (Geral)

• Ferramenta de “O/RM” (Object-relational Mapping)
  da Microsoft - e não só!
• Permite executar acções CRUD com Tabelas, Stored
  Procedures e Views
• Permite Transações e controlo de Concorrência
• Desenvolvido para suportar diferentes bases de
  dados num mesmo projecto
• Vários providers disponíveis (SQL
  Server, Oracle, MySQL, DB2, etc...)
Entity Framework 1 -> .NET 3.5

• Principais Características
  • Geração do modelo a partir da base de dados
       • Herança, Agregação, Filtros
  •   Operações CRUD simplificadas
  •   Consultas via LINQ
  •   Suporte a diferentes bases de dados
  •   Query Language própria, independente de base
      de dados
Entity Framework 1 -> .NET 3.5

• Principais Limitações / Problemas
  •   Designer com recursos limitados
  •   Sem suporte a Model-first
  •   Sem suporte a Lazy Loading
  •   Sem suporte a objectos POCO
  •   Suporte a Stored Procedures limitado
  •   Código SQL gerado de difícil leitura
  •   Dificuldade para utilizar em projectos com N-
      camadas
Limitações ultrapassadas e mais novidades

Entity Framework 4.0
Entity Framework 4 -> .NET 4.0
•   Model-first development      •   Self-tracking entities
•   Automatic pluralization      •   SQL generation improvements
•   Foreign keys in models       •   More LINQ operator support
•   POCO class support           •   LINQ extensibility
•   Lazy loading                 •   ExecuteStoreQuery
•   T4 Code Generation           •   ExecuteStoreCommand
•   Template customization       •   SPROC import improvements
•   IObjectSet                   •   Model defined functions
•   Virtual SaveChanges          •   WPF designer integration
•   ObjectStateManager control   •   Code-Only development (Feature
                                     CTP)
Entity Framework 4 -> .NET 4.0

• Diferentes formas de trabalhar
  • Database-first
     • Comece pela base de dados e crie o modelo
       conceptual a partir deste
  • Model-first
     • Comece pelo modelo conceptual e crie a base de
       dados a partir deste
  • Code Only*
     • Modelo conceptual e mapping totalmente via código
DB    Modelo   Código




Database-first

Demo
DB


              Modelo


                       Código




Model-first

Demo
DB


              Modelo


                       Código




Suporte POCO / T4

Demo
Resumo

• Diversas novidades no Entity Framework 4
  • Limitações da versão 1.0 ultrapassadas
  • Diferentes formas de trabalhar
  • Suporte a POCO e geração de código com
    templates T4


• E muito mais...
Q&A
A sua opinião é importante!
Complete o questionário de
avaliação e devolva-o à saida.
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades

Entity Framework 4, Novas funcionalidades

  • 1.
  • 2.
    Caio Proiete • 10 anos de experiência profissional em TI • Microsoft Most Valuable Professional • Microsoft Certified Trainer @ CICLO • Líder da Comunidade NetPonto
  • 3.
    Entity Framework (Geral) •Ferramenta de “O/RM” (Object-relational Mapping) da Microsoft - e não só! • Permite executar acções CRUD com Tabelas, Stored Procedures e Views • Permite Transações e controlo de Concorrência • Desenvolvido para suportar diferentes bases de dados num mesmo projecto • Vários providers disponíveis (SQL Server, Oracle, MySQL, DB2, etc...)
  • 4.
    Entity Framework 1-> .NET 3.5 • Principais Características • Geração do modelo a partir da base de dados • Herança, Agregação, Filtros • Operações CRUD simplificadas • Consultas via LINQ • Suporte a diferentes bases de dados • Query Language própria, independente de base de dados
  • 5.
    Entity Framework 1-> .NET 3.5 • Principais Limitações / Problemas • Designer com recursos limitados • Sem suporte a Model-first • Sem suporte a Lazy Loading • Sem suporte a objectos POCO • Suporte a Stored Procedures limitado • Código SQL gerado de difícil leitura • Dificuldade para utilizar em projectos com N- camadas
  • 6.
    Limitações ultrapassadas emais novidades Entity Framework 4.0
  • 7.
    Entity Framework 4-> .NET 4.0 • Model-first development • Self-tracking entities • Automatic pluralization • SQL generation improvements • Foreign keys in models • More LINQ operator support • POCO class support • LINQ extensibility • Lazy loading • ExecuteStoreQuery • T4 Code Generation • ExecuteStoreCommand • Template customization • SPROC import improvements • IObjectSet • Model defined functions • Virtual SaveChanges • WPF designer integration • ObjectStateManager control • Code-Only development (Feature CTP)
  • 8.
    Entity Framework 4-> .NET 4.0 • Diferentes formas de trabalhar • Database-first • Comece pela base de dados e crie o modelo conceptual a partir deste • Model-first • Comece pelo modelo conceptual e crie a base de dados a partir deste • Code Only* • Modelo conceptual e mapping totalmente via código
  • 9.
    DB Modelo Código Database-first Demo
  • 10.
    DB Modelo Código Model-first Demo
  • 11.
    DB Modelo Código Suporte POCO / T4 Demo
  • 12.
    Resumo • Diversas novidadesno Entity Framework 4 • Limitações da versão 1.0 ultrapassadas • Diferentes formas de trabalhar • Suporte a POCO e geração de código com templates T4 • E muito mais...
  • 13.
  • 14.
    A sua opiniãoé importante! Complete o questionário de avaliação e devolva-o à saida.