SlideShare uma empresa Scribd logo
1 de 11
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

Mais conteúdo relacionado

Destaque

Reģiona stabilitāte = uzņēmumu attīstība
Reģiona stabilitāte = uzņēmumu attīstībaReģiona stabilitāte = uzņēmumu attīstība
Reģiona stabilitāte = uzņēmumu attīstībaLursoft
 
Week of September 30th (2)
Week of September 30th (2)Week of September 30th (2)
Week of September 30th (2)Reademel
 
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilter
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilterLoad-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilter
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilterLoadbalancer_org_Gmbh
 
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-Filter
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-FilterLoad-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-Filter
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-FilterLoadbalancer_org_Gmbh
 

Destaque (6)

Reģiona stabilitāte = uzņēmumu attīstība
Reģiona stabilitāte = uzņēmumu attīstībaReģiona stabilitāte = uzņēmumu attīstība
Reģiona stabilitāte = uzņēmumu attīstība
 
Week of September 30th (2)
Week of September 30th (2)Week of September 30th (2)
Week of September 30th (2)
 
Vorstellung Bibliothek TUHH 2013
Vorstellung Bibliothek TUHH 2013Vorstellung Bibliothek TUHH 2013
Vorstellung Bibliothek TUHH 2013
 
La Torre Settembre 2013
La Torre Settembre 2013La Torre Settembre 2013
La Torre Settembre 2013
 
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilter
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilterLoad-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilter
Load-Balancer-Deployment-Guide-für-McAfee-Web-Proxies-bzw-WebFilter
 
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-Filter
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-FilterLoad-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-Filter
Load-Balancer-Deployment-Guide-für-Smoothwall-Web-Proxy-Web-Filter
 

Semelhante a 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
 
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...Rogério Moraes de Carvalho
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemRogério Moraes de Carvalho
 
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
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF CoreRogério Moraes de Carvalho
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5Rogério Moraes de Carvalho
 
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
 
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
 
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
 

Semelhante a 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
 
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
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
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
 
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
 
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
 
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
 
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
 
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
 

Mais de 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
 
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
 
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroVisual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroRogério Moraes de Carvalho
 
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
 
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
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Rogério Moraes de Carvalho
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Rogé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
 
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...Rogé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
 

Mais de Rogério Moraes de Carvalho (20)

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
 
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
 
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
 
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroVisual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
 
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
 
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
 
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
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
 
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
 
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
 
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
 

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

Notas do Editor

  1. NuGet – Gerenciador de pacotes para a plataforma de desenvolvimento da Microsoft incluindo .NET.O SQL Server suporta dois tipos de dados espaciais (http://technet.microsoft.com/en-us/library/bb933790.aspx)Tipo de dados geométrico (geometry): representa dados num sistema de coordenadas Euclidiano plano.Tipo de dados geográfico (geography): representa dados num sistemas de coordenadas esféricas da Terra.
  2. Announcing the Visual Studio 2013 Release Candidate (Somasegar’s blog)http://blogs.msdn.com/b/somasegar/archive/2013/09/09/announcing-the-visual-studio-2013-release-candidate.aspxEF6 Release Candidate Available (ADO.NET Blog)http://blogs.msdn.com/b/adonet/archive/2013/08/21/ef6-release-candidate-available.aspxVisual Studio 2013 Virtual Launch (13 de novembro de 2013)http://events.visualstudio.com/
  3. DbContextRepresenta uma combinação dos padrões Unit-Of-Work e Repository e permite a consulta a um banco de dados e agrupa as modificações para serem escritas de volta no armazenamento como uma unidade. DbContext é conceitualmente similar ao ObjectContext.
  4. ADO.NET Bloghttp://blogs.msdn.com/b/adonet/