O documento resume as principais novas funcionalidades do Entity Framework 4.0, incluindo o suporte a Model-first development, classes POCO, lazy loading e melhorias na geração de código SQL. Discute também as diferentes formas de trabalhar com o EF, como Database-first, Model-first e Code Only, e demonstra alguns destes recursos.
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
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
12. 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...