SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Mapeamento Objeto-Relacional
com o Entity Framework
Rogério Moraes de Carvalho
VITA Informática
http://rogeriomc.wordpress.com
@rogeriomc
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
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/)
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
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
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 …
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
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...Rogério Moraes de Carvalho
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoreRogério Moraes de Carvalho
 
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformaTDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformatdc-globalcode
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Rogério Moraes de Carvalho
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisRogério Moraes de Carvalho
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...MVP ShowCast
 
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7Rogério Moraes de Carvalho
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Fernando Gonçalves
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Rogério Moraes de Carvalho
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Framework PHP Zend e MVC
Framework PHP Zend e MVCFramework PHP Zend e MVC
Framework PHP Zend e MVCEduardo Greco
 
Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7José Araújo
 
C# 6.0 .net coders
C# 6.0   .net codersC# 6.0   .net coders
C# 6.0 .net codersRenato Groff
 

Was ist angesagt? (20)

TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
TDC 2012 Goiânia: Trilha Windows Phone / Windows 8 - Desenvolvimento de apps ...
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
 
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataformaTDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
TDC2016POA | Trilha .NET - O novo ASP.NET Core 1.0 multiplataforma
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
Cebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET CoreCebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET Core
 
Docker com ASP.NET Core e Hospedagem no Azure
Docker com ASP.NET Core e Hospedagem no AzureDocker com ASP.NET Core e Hospedagem no Azure
Docker com ASP.NET Core e Hospedagem no Azure
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4
 
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveisSeminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
Seminfo 2012 (Urutaí-GO): Desenvolvimento para dispositivos móveis
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
 
Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)Desenvolvendo para web ASP.Net (Overview para iniciantes)
Desenvolvendo para web ASP.Net (Overview para iniciantes)
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
Novidades do .NET 3.5
Novidades do .NET 3.5Novidades do .NET 3.5
Novidades do .NET 3.5
 
Framework PHP Zend e MVC
Framework PHP Zend e MVCFramework PHP Zend e MVC
Framework PHP Zend e MVC
 
Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7Migrando 4 milhões de linhas de Delphi 7 para XE7
Migrando 4 milhões de linhas de Delphi 7 para XE7
 
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGOEVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
EVOLUÇÃO DA LINGUAGEM DELPHI - ARTIGO
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
C# 6.0 .net coders
C# 6.0   .net codersC# 6.0   .net coders
C# 6.0 .net coders
 

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

[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4Felipe Pimentel
 
DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4Marcelo Paiva
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4CDS
 
Principais novidades do Entity Framework 5.0
Principais novidades do Entity Framework 5.0Principais novidades do Entity Framework 5.0
Principais novidades do Entity Framework 5.0Fernando Henrique
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesMarcelo Paiva
 
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftComparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftLuciano Condé
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4CDS
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkMatteus Barbosa
 
14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdfgabriel-colman
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaElvis Fusco
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
Entity Framework Code First
Entity Framework Code FirstEntity Framework Code First
Entity Framework Code FirstWaldyr Felix
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 

Ähnlich wie SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity Framework (20)

[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4
 
DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Principais novidades do Entity Framework 5.0
Principais novidades do Entity Framework 5.0Principais novidades do Entity Framework 5.0
Principais novidades do Entity Framework 5.0
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data Services
 
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da MicrosoftComparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
Comparacao Estrategica sobre as Tecnologias de Acesso a Dados da Microsoft
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity Framework
 
ORM e EF
ORM e EFORM e EF
ORM e EF
 
14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf14-programacao-bd-Object Relational Mapper.pdf
14-programacao-bd-Object Relational Mapper.pdf
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC Marília
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
Entity Framework Code First
Entity Framework Code FirstEntity Framework Code First
Entity Framework Code First
 
Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011Slides da palestra no Flex mania 2011
Slides da palestra no Flex mania 2011
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Novidades do .Net 4.0
Novidades do .Net 4.0Novidades do .Net 4.0
Novidades do .Net 4.0
 

Mehr von Rogério Moraes de Carvalho

TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaRogério Moraes de Carvalho
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Rogério Moraes de Carvalho
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Rogério Moraes de Carvalho
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoRogério Moraes de Carvalho
 
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...Rogério Moraes de Carvalho
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
 
The Developer's Conference (TDC) 2013 - Florianópolis: HTML5 + CSS3 em múlti...
The Developer's Conference (TDC) 2013 - Florianópolis:  HTML5 + CSS3 em múlti...The Developer's Conference (TDC) 2013 - Florianópolis:  HTML5 + CSS3 em múlti...
The Developer's Conference (TDC) 2013 - Florianópolis: HTML5 + CSS3 em múlti...Rogério Moraes de Carvalho
 
MVP Virtual Conference 2013: Cenário do mundo real
MVP Virtual Conference 2013: Cenário do mundo realMVP Virtual Conference 2013: Cenário do mundo real
MVP Virtual Conference 2013: Cenário do mundo realRogério Moraes de Carvalho
 
MVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebMVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebRogério Moraes de Carvalho
 
TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#Rogério Moraes de Carvalho
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#Rogério Moraes de Carvalho
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptRogério Moraes de Carvalho
 

Mehr von Rogério Moraes de Carvalho (15)

TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
 
Tecnologias XML e XML no SQL Server 2016
Tecnologias XML eXML no SQL Server 2016Tecnologias XML eXML no SQL Server 2016
Tecnologias XML e XML no SQL Server 2016
 
Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programação
 
`
``
`
 
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
 
The Developer's Conference (TDC) 2013 - Florianópolis: HTML5 + CSS3 em múlti...
The Developer's Conference (TDC) 2013 - Florianópolis:  HTML5 + CSS3 em múlti...The Developer's Conference (TDC) 2013 - Florianópolis:  HTML5 + CSS3 em múlti...
The Developer's Conference (TDC) 2013 - Florianópolis: HTML5 + CSS3 em múlti...
 
MVP Virtual Conference 2013: Cenário do mundo real
MVP Virtual Conference 2013: Cenário do mundo realMVP Virtual Conference 2013: Cenário do mundo real
MVP Virtual Conference 2013: Cenário do mundo real
 
MVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebMVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões Web
 
TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#TechEd 2011 Review - Evolução da linguagem de programação C#
TechEd 2011 Review - Evolução da linguagem de programação C#
 
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
TechEd Brasil 2011 Review - Evolução da linguagem de programação C#
 
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScriptTDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
TDC 2011 Goiânia: Evolução da linguagem de programação JavaScript
 

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

  • 1. Mapeamento Objeto-Relacional com o Entity Framework Rogério Moraes de Carvalho VITA Informática http://rogeriomc.wordpress.com @rogeriomc
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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