SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity Framework

1,497 views
1,492 views

Published on

Esta foi a minha primeira palestra no evento SQLSaturday #253, em Brasília-DF, e foi realizada na trilha Desenvolvimento no dia 28/09/2013 (sábado), das 10h às 11h10. Eu apresentei uma visão geral sobre o conceito de mapeamento-objeto relacional e comentei sobre dois dos principais frameworks usados na plataforma .NET: Entity Framework (Microsoft/Open Source) e NHibernate (Open Source). Além disso, eu comentei sobre algumas das principais novidades do Entity Framework 5 e do Entity Framework 6.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,497
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity Framework

  1. 1. Mapeamento Objeto-Relacional com o Entity Framework Rogério Moraes de Carvalho VITA Informática http://rogeriomc.wordpress.com @rogeriomc
  2. 2. Agenda  Mapeamento Objeto-Relacional  Entity Framework  Entity Framework e Visual Studio  Entity Framework e LINQ para Entidades  Modelos de desenvolvimento do EF  Novidades do Entity Framework 5  Demonstração  O que esperar do Entity Framework 6?  Recursos
  3. 3. Mapeamento Objeto-Relacional  ORM, do inglês: Object-Relational Mapping  Técnica de desenvolvimento  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/)
  4. 4. Entity Framework  O que é o Entity Framework (EF)?  Framework para mapear objetos de domínio para dados relacionais  O EF 5 é distribuído como um pacote do NuGet  Funciona com o .NET Framework 4 com limitações  Funciona com o .NET Framework 4.5 com acréscimos  Suporte a tipos de dados enum e espaciais  Auto Query Cache (desempenho melhorado)  O EF 6 será liberado em 18 de outubro de 2013  Junto com o Visual Studio 2013 e o Windows 8.1 GA
  5. 5. Entity Framework e Visual Studio  Entity Framework 5  Visual Studio 2010  .NET Framework 4: suporte parcial  Visual Studio 2012  .NET Framework 4: suporte parcial  .NET Framework 4.5: suporte completo  Entity Framework 6 (18 de outubro de 2013)  Visual Studio 2010 / Visual Studio 2012  .NET Framework 4 / .NET Framework 4.5: suporte completo  Visual Studio 2013 (18 de outubro de 2013)  .NET Framework 4 / .NET Framework 4.5 / .NET Framework 4.5.1: suporte completo
  6. 6. Entity Framework e LINQ para Entidades Aplicação Banco de dados Entity Framework from c in db.Fornecedores where c.UF == "DF" select s.NomeEmpresa Consulta LINQ db: instância de DbContext Consulta SQL SELECT NomeEmpresa FROM Fornecedores WHERE UF = 'DF' Registros Entidades db.SaveChanges() DML ou Stored Procedures db.Fornecedores.Add(f1); f2.UF = "SP"; db.Fornecedores.Remove(f3); INSERT INTO Fornecedores … UPDATE Fornecedores … DELETE FROM Fornecedores …
  7. 7. Modelos de desenvolvimento do EF5 Novo banco Banco existente Database First • Engenharia reversa para o modelo .edmx • Geração automática de classes do .edmx Model First • Criação do modelo .edmx no designer • Geração do banco de dados do .edmx • Geração automática de classes do .edmx Code First • Definição de classes e mapeamento no código (ferramentas de engenharia reversa disponíveis) Code First • Definição de classes e mapeamento no código • Criação automática do banco de dados em tempo de execução Baseado no designer Baseado em codificação
  8. 8. Novidades do Entity Framework 5  EF Designer e Code First  Suporte a Enum  Tipos de dados espaciais (geography e geometry)  Somente EF Designer  Suporte a Table-Valued Functions (TVFs)  Múltiplos diagramas e coloração  Geração de código com DbContext
  9. 9. Demonstração  Abordagens de desenvolvimento do EF5  Database First  Model First  Code First  System.Data.Entity.DbContext  Classe para consultar e persistir mudanças numa fonte de dados  SQL Profiler  Monitorando instruções SQL enviadas para o SQL Server
  10. 10. O que esperar do Entity Framework 6?  Consultas e salvamento assíncrono (async/await)  Suporte a Task-Based Asynchronous Pattern (TAP)  Convenções personalizadas para Code First  Mapeamento Code First para stored procedures  Para operações de inclusão, atualização e exclusão  Configurações baseadas em código  Suporte a dados enums e espaciais no .NET 4.0  Consolidação do EF Power Tools e do EF Designer
  11. 11. Recursos  MSDN Data Developer Center – Entity Framework  http://msdn.microsoft.com/en-us/data/ef.aspx  Projeto do Entity Framework no CodePlex  http://entityframework.codeplex.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

×