SlideShare uma empresa Scribd logo
1 de 21
O que há de novo noEntity Framework 4 Marcelo PaivaMicrosoft MCP  - IBM CLP
Marcelo Paiva Diretor Pesquisa e Desenvolvimento  da Softprime http://softprime.com.brMembro do conselho DevGoiás.Net http://devgoias.net Coordenador comunidade DataServicesBR http://dataservicesbrasil.ning.com Email: marcelo@softprime.com.br Twitter: @marcelo_paiva Blog: http://marcelosoftprime.spaces.live.com
Agenda Tecnologias de Acesso a dados Entity Framework 4 O que é? História do EF Melhorias do EF Demonstrações Q & A
As tecnologias “Hoje” ADO.Net Linq to SQL WCF Data Services Entity Framework
Entity Framework 4.0 – O que é? Ferramenta ORM – Mapenamento objeto relacional Abstrai a comunicação com bancos de dados relacionais Conhece modelo lógico e modelo físico Fornece uma série de facilidades nesta comunicação
História ADO.NET 2.0 – Datasets e cia. LINQ to SQL Projeto do time de C# EntityFramework Time de projeto voltado para tecnologias de acesso a dados. Em 29/10/2008, mensagem do time de produto sobre união dos times do L2S e EF. Dúvida sobre continuidade do L2S.
Cenário do EF Visual Studio “Quadrant” Entity Framework Data Services ADO.NET  “M”/EDM SQL Azure SQL Server … SQL Server  Modeling Services
Entity Framework 4Novidades Recursos     Data Developer Center http://msdn.microsoft.com/en-us/data/aa937723.aspx
História Feedbacks sobre o EF 1.0: Famoso “vote of no confidence” Foco nos aspectos de dados das entidades degradam arquiteturas de entidade Entidades criadas não são POCO (derivam de EntityObject)  Falta de persistance ignorance deixa o código mais difícil de escrever
História Feedbacks sobre o EF 1.0: Excesso de código para lidar com lazyloading Modelo único trás problemas excessivos em um projeto com diversos desenvolvedores e controle de fonte Não é possível criar o armazenamento físico a partir de um modelo conceitual.
Melhorias no EF4 Suporte a mais operadores LINQ Pluralize Podemos encontrar: Movies-Movy Geração de código baseada em T4 templates(text template transformation toolkit) Maior facilidade de customização para o desenvolvedor
Melhorias no EF4 Melhorias no código SQL gerado De se esperar uma evolução contínua Suporte a tipos complexos no designer http://msdn.microsoft.com/en-us/library/dd456820(VS.100).aspx Melhoria da ferramenta Modelbrowser Ex.: apagar objetos do storagemodel e pesquisar por entidades
Melhorias no EF4 Geração customizada de objetos (T4) POCOs(T4) Lazyloading Code Only Maior facilidade para trabalhar com N camadas.
Flight Mode EF 4 – Model First Criar o modelo de Classes Gerar banco de dados baseado neste modelo Utilizar o modelo gerado pelo EF 4.0 Live!
Flight Mode EF 4 – Database First Partir de um banco de dados Pluralização Live!
Flight Mode EF 4 – POCOs Classes simples e ao controle do desenvolvedor Não dependem/conhecem Frameworks Não herdem nem implementam interfaces específicas do EF 4.0 Conhecem domínio do software Live!
Flight Mode EF 4 – Lazy Loading Carregar somente a entidade pai sem agregações Carregar os “filhos” somente quando (e se) preciso Pode significar melhora de performance Facilmente habilitado e desabilitado Live!
Flight Mode EF 4 – Code Only Sem necessidade de manter um EDMX Trata-se apenas com as classes Configuração toda feita via código Pode tornar o entendimento das relações mais complexo Live!
Q & A ?! Recursos     http://dataservicesbrasil.ning.com                http://www.devgoias.net      marcelo.paiva@devgoias.net
Cadastre aqui e concorra uma licença do EF Profiler Link’s uteis http://dataservicesbrasil.ning.com http://www.devgoias.net http://blogs.msdn.com/adonet/default.aspx http://blogs.msdn.com/astoriateam/default.aspx E-mail:   marcelo.paiva@devgoias.net
Obrigado!

Mais conteúdo relacionado

Semelhante a Novidades no Entity Framework 4

[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
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
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
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...JP Clementi
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesMarcelo Paiva
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Luciano Condé
 
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
 
Entity Framework 4 - Coommunity Launch RJ - Vinicius Quaiato
Entity Framework 4 - Coommunity Launch RJ - Vinicius QuaiatoEntity Framework 4 - Coommunity Launch RJ - Vinicius Quaiato
Entity Framework 4 - Coommunity Launch RJ - Vinicius QuaiatoVinicius Quaiato
 
T@rget trust linq - language integrated query
T@rget trust   linq - language integrated queryT@rget trust   linq - language integrated query
T@rget trust linq - language integrated queryTargettrust
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4CDS
 
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBDescobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBelliando dias
 
Silverlight 4 e Expression Blend 4
Silverlight 4 e Expression Blend 4Silverlight 4 e Expression Blend 4
Silverlight 4 e Expression Blend 4Rodrigo Kono
 
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
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
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
 
Curso C sharp plus Framework NET (DIURNO)
Curso C sharp plus Framework NET (DIURNO) Curso C sharp plus Framework NET (DIURNO)
Curso C sharp plus Framework NET (DIURNO) Grupo Treinar
 

Semelhante a Novidades no Entity Framework 4 (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
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
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
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data Services
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4
 
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 ...
 
`
``
`
 
Entity Framework 4 - Coommunity Launch RJ - Vinicius Quaiato
Entity Framework 4 - Coommunity Launch RJ - Vinicius QuaiatoEntity Framework 4 - Coommunity Launch RJ - Vinicius Quaiato
Entity Framework 4 - Coommunity Launch RJ - Vinicius Quaiato
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
T@rget trust linq - language integrated query
T@rget trust   linq - language integrated queryT@rget trust   linq - language integrated query
T@rget trust linq - language integrated query
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBDescobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
 
Silverlight 4 e Expression Blend 4
Silverlight 4 e Expression Blend 4Silverlight 4 e Expression Blend 4
Silverlight 4 e Expression Blend 4
 
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
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
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
 
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
 
Curso C sharp plus Framework NET (DIURNO)
Curso C sharp plus Framework NET (DIURNO) Curso C sharp plus Framework NET (DIURNO)
Curso C sharp plus Framework NET (DIURNO)
 

Mais de Marcelo Paiva

Inteligência Artificial na prática com a Nuvem
Inteligência Artificial na prática com a NuvemInteligência Artificial na prática com a Nuvem
Inteligência Artificial na prática com a NuvemMarcelo Paiva
 
Conheça o novo .NET: open source, rápido e multiplataforma.
Conheça o novo .NET: open source, rápido e multiplataforma.Conheça o novo .NET: open source, rápido e multiplataforma.
Conheça o novo .NET: open source, rápido e multiplataforma.Marcelo Paiva
 
Internet das Coisas e Serviços Cognitivos
Internet das Coisas e Serviços CognitivosInternet das Coisas e Serviços Cognitivos
Internet das Coisas e Serviços CognitivosMarcelo Paiva
 
Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Marcelo Paiva
 
Surfando na Internet das Coisas
Surfando na Internet das CoisasSurfando na Internet das Coisas
Surfando na Internet das CoisasMarcelo Paiva
 
Override Meeting S01E02
Override Meeting S01E02Override Meeting S01E02
Override Meeting S01E02Marcelo Paiva
 
dotNET Foundation FGSL 2015
dotNET Foundation FGSL 2015dotNET Foundation FGSL 2015
dotNET Foundation FGSL 2015Marcelo Paiva
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformMarcelo Paiva
 
Gerenciando seu projeto de software com Visual Studio Online - Join 2014
Gerenciando seu projeto de software com Visual Studio Online - Join 2014Gerenciando seu projeto de software com Visual Studio Online - Join 2014
Gerenciando seu projeto de software com Visual Studio Online - Join 2014Marcelo Paiva
 
TDC 2012 Goiânia - Entity Framework 5 e OData
TDC 2012 Goiânia - Entity Framework 5 e ODataTDC 2012 Goiânia - Entity Framework 5 e OData
TDC 2012 Goiânia - Entity Framework 5 e ODataMarcelo Paiva
 
Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)Marcelo Paiva
 
Cloud Computing com Windows Azure
Cloud Computing com Windows AzureCloud Computing com Windows Azure
Cloud Computing com Windows AzureMarcelo Paiva
 

Mais de Marcelo Paiva (12)

Inteligência Artificial na prática com a Nuvem
Inteligência Artificial na prática com a NuvemInteligência Artificial na prática com a Nuvem
Inteligência Artificial na prática com a Nuvem
 
Conheça o novo .NET: open source, rápido e multiplataforma.
Conheça o novo .NET: open source, rápido e multiplataforma.Conheça o novo .NET: open source, rápido e multiplataforma.
Conheça o novo .NET: open source, rápido e multiplataforma.
 
Internet das Coisas e Serviços Cognitivos
Internet das Coisas e Serviços CognitivosInternet das Coisas e Serviços Cognitivos
Internet das Coisas e Serviços Cognitivos
 
Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'
 
Surfando na Internet das Coisas
Surfando na Internet das CoisasSurfando na Internet das Coisas
Surfando na Internet das Coisas
 
Override Meeting S01E02
Override Meeting S01E02Override Meeting S01E02
Override Meeting S01E02
 
dotNET Foundation FGSL 2015
dotNET Foundation FGSL 2015dotNET Foundation FGSL 2015
dotNET Foundation FGSL 2015
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
 
Gerenciando seu projeto de software com Visual Studio Online - Join 2014
Gerenciando seu projeto de software com Visual Studio Online - Join 2014Gerenciando seu projeto de software com Visual Studio Online - Join 2014
Gerenciando seu projeto de software com Visual Studio Online - Join 2014
 
TDC 2012 Goiânia - Entity Framework 5 e OData
TDC 2012 Goiânia - Entity Framework 5 e ODataTDC 2012 Goiânia - Entity Framework 5 e OData
TDC 2012 Goiânia - Entity Framework 5 e OData
 
Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)Plataforma Windows Azure (Cloud Computing)
Plataforma Windows Azure (Cloud Computing)
 
Cloud Computing com Windows Azure
Cloud Computing com Windows AzureCloud Computing com Windows Azure
Cloud Computing com Windows Azure
 

Último

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarIedaGoethe
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 

Último (20)

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogar
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 

Novidades no Entity Framework 4

  • 1. O que há de novo noEntity Framework 4 Marcelo PaivaMicrosoft MCP - IBM CLP
  • 2. Marcelo Paiva Diretor Pesquisa e Desenvolvimento da Softprime http://softprime.com.brMembro do conselho DevGoiás.Net http://devgoias.net Coordenador comunidade DataServicesBR http://dataservicesbrasil.ning.com Email: marcelo@softprime.com.br Twitter: @marcelo_paiva Blog: http://marcelosoftprime.spaces.live.com
  • 3. Agenda Tecnologias de Acesso a dados Entity Framework 4 O que é? História do EF Melhorias do EF Demonstrações Q & A
  • 4. As tecnologias “Hoje” ADO.Net Linq to SQL WCF Data Services Entity Framework
  • 5. Entity Framework 4.0 – O que é? Ferramenta ORM – Mapenamento objeto relacional Abstrai a comunicação com bancos de dados relacionais Conhece modelo lógico e modelo físico Fornece uma série de facilidades nesta comunicação
  • 6. História ADO.NET 2.0 – Datasets e cia. LINQ to SQL Projeto do time de C# EntityFramework Time de projeto voltado para tecnologias de acesso a dados. Em 29/10/2008, mensagem do time de produto sobre união dos times do L2S e EF. Dúvida sobre continuidade do L2S.
  • 7. Cenário do EF Visual Studio “Quadrant” Entity Framework Data Services ADO.NET “M”/EDM SQL Azure SQL Server … SQL Server Modeling Services
  • 8. Entity Framework 4Novidades Recursos Data Developer Center http://msdn.microsoft.com/en-us/data/aa937723.aspx
  • 9. História Feedbacks sobre o EF 1.0: Famoso “vote of no confidence” Foco nos aspectos de dados das entidades degradam arquiteturas de entidade Entidades criadas não são POCO (derivam de EntityObject) Falta de persistance ignorance deixa o código mais difícil de escrever
  • 10. História Feedbacks sobre o EF 1.0: Excesso de código para lidar com lazyloading Modelo único trás problemas excessivos em um projeto com diversos desenvolvedores e controle de fonte Não é possível criar o armazenamento físico a partir de um modelo conceitual.
  • 11. Melhorias no EF4 Suporte a mais operadores LINQ Pluralize Podemos encontrar: Movies-Movy Geração de código baseada em T4 templates(text template transformation toolkit) Maior facilidade de customização para o desenvolvedor
  • 12. Melhorias no EF4 Melhorias no código SQL gerado De se esperar uma evolução contínua Suporte a tipos complexos no designer http://msdn.microsoft.com/en-us/library/dd456820(VS.100).aspx Melhoria da ferramenta Modelbrowser Ex.: apagar objetos do storagemodel e pesquisar por entidades
  • 13. Melhorias no EF4 Geração customizada de objetos (T4) POCOs(T4) Lazyloading Code Only Maior facilidade para trabalhar com N camadas.
  • 14. Flight Mode EF 4 – Model First Criar o modelo de Classes Gerar banco de dados baseado neste modelo Utilizar o modelo gerado pelo EF 4.0 Live!
  • 15. Flight Mode EF 4 – Database First Partir de um banco de dados Pluralização Live!
  • 16. Flight Mode EF 4 – POCOs Classes simples e ao controle do desenvolvedor Não dependem/conhecem Frameworks Não herdem nem implementam interfaces específicas do EF 4.0 Conhecem domínio do software Live!
  • 17. Flight Mode EF 4 – Lazy Loading Carregar somente a entidade pai sem agregações Carregar os “filhos” somente quando (e se) preciso Pode significar melhora de performance Facilmente habilitado e desabilitado Live!
  • 18. Flight Mode EF 4 – Code Only Sem necessidade de manter um EDMX Trata-se apenas com as classes Configuração toda feita via código Pode tornar o entendimento das relações mais complexo Live!
  • 19. Q & A ?! Recursos http://dataservicesbrasil.ning.com http://www.devgoias.net marcelo.paiva@devgoias.net
  • 20. Cadastre aqui e concorra uma licença do EF Profiler Link’s uteis http://dataservicesbrasil.ning.com http://www.devgoias.net http://blogs.msdn.com/adonet/default.aspx http://blogs.msdn.com/astoriateam/default.aspx E-mail: marcelo.paiva@devgoias.net

Notas do Editor

  1. [2 min.]
  2. [1 min.]
  3. [1 min.]Atualmente temos diversas tecnologias e isso pode gerar confusões, mas hoje vamos entender como funcionam melhor duas dessas tecnologias que estão recebendo grandes melhorias.ADO.Net continua com os recursos tradicionais, sem poucos avanços.Linq to SQL – continua mas sem receber muita atenção.*entendendo melhor....[PROXIMO]
  4. [1 min.]
  5. [2 min.]Pela história mais recente podemos ver a sequencia do surgimento dessas tecnologias:1º ADO.Net 2.0 (de 2005 pra cá)2º Linq to SQL (em decorrência do surgimento do Linq o time precisava lançar alguma coisa que fizesse acesso a dados)3º Entity Framework – surgindo com o SP1 do .net Framework 3.5 O mesmo aconteceu com o ADO.Net Data Services, mas que é focado no conceito de serviço de dadosEntão o time de Plataforma de dados anunciou a união dos time L2S e EF, no entanto gerou a dúvida de como ficaria, então o time mandou a mensagem: “estaremos dando suporte ao L2S enquanto vamos focar maior atenção do EF”
  6. [1 min.]Temos atualmente se formando este cenário das tecnologias Microsoft, onde vemos aí o local que o EF se enquadra.
  7. Então vamos para as novidades do Entity Framework 4.
  8. [2 min.]Vamos contextualizar o que tivemos no lançamento do EF 1.0 para entender os lançamentos da versão 4.01 – Com o lançamento da primeria versão, em razão das prioridades adotadas pelo time de produto, alguns MVP’s e influenciadores da comunidade que já trabalhavam com ferramentas de ORM, assinaram um ‘voto de não confiança’ no EF.2 – Porque desse ‘voto’??? Foram elencados algumas funcionalidades que a comunidade considera de grande importância, dos quais vamos destacar alguns aqui.3 – Comentar sobre o foco na persistência prejudicando o POCO e Persistence Ignorance
  9. [2 min.]Outro ponto de crítica é como lhe dá o uso do lazyloading no EF 1.0O modelo único também problemas com uso em equipes grandes, pois é difícil o gerenciamento do mapeamento.Todo mapeamento é feito na verdade em XML, daí é importante conhecer muito ele, e fazer customizações é possível mas é bastante trabalhoso.Mais um ponto tratado pelo time de produto na primeira versão foi pensando em que a maioria já tenha um modelo de dados criado então o que temos é uma mapenamento que pode ser gerado a partir do modelo, mas o pessoal reclamou que não temos o contrário.
  10. [2 min] Vamos ver então agora algumas das melhorias que o time do produto destacou e está disponibilizando nessa próxima versão 4 (que na verdade é a 2.0)Suporte a mais operadores LINQAgora temos mais recursos como .single()PluralizaçãoClientes (tabela) – Cliente (entidade)Geração baseada em T4, inclusive agora tem um Add-in que cria um novo template para o VS2010 RC
  11. [1 min] Era de se esperar melhorias no código SQL gerado.Evidentemente o time deve estar preocupado em gerar cada veis mais um resultado melhorSuporte a tipos mais complexosAgora temos suporte no design, o que antes tinhamos somente através do XMLO Design melhorou agora, permitindo apagar objetos, o que antes só era feito através o XML
  12. [2 min]Podemos customizar o código gerado no mapeamentoPOCO’s agora temos suporte a customizado através de T4Lazyloading ObjectStateManager mais flexível podendo manipular mais facilmente o estado da entidade.
  13. D:DevGoiasCommunityLaunch2010\_PalestradotNetDayFlight1\_StartdotNetDayFligthModelFirst- criar um novo modelo vazio (dotnetday)Post (id, Titulo, Texto) / Comentario (id, Email, Texto)- Executar script no banco 'dotNetDay'- depois criar o banco no SQL studio- Criar metodos para adicionar um Post e listar no grid dotNetDayIIContainer ctx = new dotNetDayIIContainer(); public Form1() { InitializeComponent(); }  private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = ctx.PostSet.Select(a => a).ToList(); }  private void Form1_Load(object sender, EventArgs e) { ctx.AddToPostSet(new Post { Titulo = "Evento dotnetDay", Texto = "demonstrando model first" }); ctx.SaveChanges(); }
  14. 1 - D:DevGoiasCommunityLaunch2010\_PalestradotNetDayFlight2\_StartdotNetDayDBFirst Criar edmxIndicar banco de dados 'dotnetday'Marcar 'pluralização'Criar métodos para inserir dados e também consulta  dotNetDayEntities ctx = new dotNetDayEntities(); public Form1() { InitializeComponent(); }  private void button2_Click(object sender, EventArgs e) { Categoria cat = new Categoria { Descricao = "Açougue" }; cat.Produtos.Add(new Produto { Ativo = true, Nome = "Picanha", Preco = 17 }); ctx.AddToCategorias(cat); ctx.SaveChanges(); }  private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = ctx.Categorias.Select(c => c).ToList(); } - debug de inserir- Mostrar o IntelliTrace- Abrir EFProfiler- Mostrar querys
  15. -Mostrar o edmx.Designer.cs (classes contextualizadas)-Apagar CustomTool nas propriedades do edmxEntityModelCodeGenerator -Adicionar no projeto um item 'POCO generator'-Indicar o arquivo edmx no .tt e Context.tt Código: dotNetDayEntities ctx = new dotNetDayEntities(); public Form1() { InitializeComponent(); }  private void button2_Click(object sender, EventArgs e) { Categoria cat = new Categoria { Descricao = "Açougue" }; cat.Produtos.Add(new Produto { Ativo = true, Nome = "Picanha", Preco = 17 }); ctx.AddObject("Categorias", cat); ctx.SaveChanges(); }  private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = ctx.Categorias.Select(c => c).ToList(); } -Fazer testes de inserção e novamente
  16. D:DevGoiasCommunityLaunch2010\_PalestradotNetDayFlight3ProntodotNetDayDBFirst (mesmo exemplo do exemplo 3) Adicionar botão para ler produtos da categoria 3 private void button3_Click(object sender, EventArgs e) { var cat3 = ctx.Categorias.Where(c => c.ID == 3).Select(c => c).First(); foreach (var item in cat3.Produtos) { MessageBox.Show(item.Nome); } } Desabilitar lazyloadingDemonstrar resultadoAlterar mostrando 'include'
  17. D:DevGoiasCommunityLaunch2010\_PalestradotNetDayFlight4dotNetDayCodeOnly- Demonstrar as classes básicas- Demonstrar o mapeamento- Demonstrar a geração de script
  18. Agora vamos para a parte II com as novidades do WCF Data Services