SlideShare une entreprise Scribd logo
1  sur  29
http://netponto.org Um passo em frente com o Entity FrameworkHenrry Pires
Henrry Pires 8 anos de experiência profissional em TI Há 6 anos a programar na plataforma .NET
Henrry Pires 8 anos de experiência profissional em TI Há 6 anos a programar na plataforma .NET {
Agenda O que é, e para que serve? Porque precisamos da E. F.? Como Funciona? LINQ Comparação NHibernate e E.F. Entity Framework em acção
O que é?
O que é? Abstração sobre o ADO .NET. Criação de modelos conceptuais. Queries LINQ e/ou E-SQL. Actualização automática dos dados. D.A.L.
Exemplo de uma query LINQ Using NwEntities As New NORTHWNDEntities()      Dim Products = NwEntities.Products    Dim productsList = From p In Products _                                      Where p.UnitsInStock > 0 _                                      Select p.ProductID, p.ProductName, 			                                   p.UnitsInStock, p.UnitPrice _                                      OrderBy UnitsInStock    dataGridViewProducts.DataSource = productsList.ToList() End Using
Estrutura da Entity Framework
Entity Framework Metadata
Entity Framework Entity Framework
Porque Precisamos do Entity Framework?
Porque precisamos do E. F.? Como fazemos hoje Entidades e Objectos .NET DataContext
Porque precisamos do E. F.?
Como Funciona?
Entity FrameworkVisãoGeral demonstração
Language Integrated Query LINQ
LINQ Conclusões a tirar Flexibilidade Fácil adaptação Versatilidade Grandes Potencialidades
Entity FrameworkemAcção demonstração
Entity Framework em Acção Pontos de Interesse Fácil Intuitivo Total integração com as ferramentas habituais Rápido Eficiente
Comparação rápida NHibernate e Entity Framework
NHibernate   Cada entidade é mapeada através de um ficheiro XML Existem um ficheiro XML de configuração para o NHibernate saber onde encontrar os outros ficheiros XML, quais as connectionstrings a serem usadas, entre outras Para aceder a BD é usado o ISession object
NHibernate   Quatro maneiras diferentes de aceder aos dados  HQL - que é parecido a SQL só que faz queries sobre objectos e não sobre as tabelas Criteria - uma maneira fluente de encadear chamadas a métodos, e especificar diferentes critérios para a formulação dos queries StoredProcedures SQL syntax
NHibernate   Ferramentas para o NHibernate Fluente NHibernate - permite visualmente fazer o mapeamento das entidades LINQ NHibernateSearch - usando Lucene.NET permite pesquisas de texto bastante rápidas  LazyLoading
Entity Framework Mapeamento visual mais completo Todas as parametrizações ficam guardadas num único ficheiro com extensão .edmx As próprias classes geradas têm relações entre elas
Entity Framework Possibilidade de mapear Stored Procedures da mesma maneira como se mapeia tabelas Todos os acessos a Base de dados são centralizados através duma instancia do Data Context Duas maneiras de aceder a Base de dados LINQ StoredProcedures
Entity Framework "The EF was specifically structured to separate the process of mapping queries/shaping results from building objects and tracking changes. This makes it easier to create a conceptual model … and then reuse that conceptual model for a number of other services besides just building objects. Long-term we are working to build EDM awareness into a variety of other Microsoft products...“ DannySimmonsEntity Framework Team
Referências Blog oficial da equipa do Entity Framework http://bit.ly/EntityFrameworkTeam Vídeossobre Entity Framework no Channel 9 http://bit.ly/EntityFrameworkChannel9 Fórum Entity Framework no MSDN Brasil http://bit.ly/ForumEntityFrameworkMSDNBR Novidades Entity Framework 4.0 http://bit.ly/NovidadesEntityFramework40
Dúvidas?
Patrocinador desta reunião http://ciclo.pt

Contenu connexe

Similaire à Um passo em frente com o Entity Framework - Henrry Pires

Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
CDS
 
[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4
Felipe Pimentel
 

Similaire à Um passo em frente com o Entity Framework - Henrry Pires (20)

Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ Mapeamento Objeto-Relacional com LINQ
Mapeamento Objeto-Relacional com LINQ
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
 
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
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
Palestra
PalestraPalestra
Palestra
 
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 ...
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Novidades do .Net 4.0
Novidades do .Net 4.0Novidades do .Net 4.0
Novidades do .Net 4.0
 
Servidor de Aplicação Web: CherryPy - Python
Servidor de Aplicação  Web: CherryPy - PythonServidor de Aplicação  Web: CherryPy - Python
Servidor de Aplicação Web: CherryPy - Python
 
TechDays 2010 - Introdução ao NHibernate
TechDays 2010 - Introdução ao NHibernateTechDays 2010 - Introdução ao NHibernate
TechDays 2010 - Introdução ao NHibernate
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPyDesenvolvendo uma Aplicação WEB usando o Python e o CherryPy
Desenvolvendo uma Aplicação WEB usando o Python e o CherryPy
 
[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4[CLPE] Novidades do Entity Framework 4
[CLPE] Novidades do Entity Framework 4
 
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
Serviços na Plataforma .NET (SOA, REST, Microservices, WCF, Web API)
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
 
Aula1
Aula1Aula1
Aula1
 

Plus de Comunidade NetPonto

Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Comunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Comunidade NetPonto
 

Plus de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 

Dernier

Dernier (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Um passo em frente com o Entity Framework - Henrry Pires

  • 1. http://netponto.org Um passo em frente com o Entity FrameworkHenrry Pires
  • 2. Henrry Pires 8 anos de experiência profissional em TI Há 6 anos a programar na plataforma .NET
  • 3. Henrry Pires 8 anos de experiência profissional em TI Há 6 anos a programar na plataforma .NET {
  • 4. Agenda O que é, e para que serve? Porque precisamos da E. F.? Como Funciona? LINQ Comparação NHibernate e E.F. Entity Framework em acção
  • 6. O que é? Abstração sobre o ADO .NET. Criação de modelos conceptuais. Queries LINQ e/ou E-SQL. Actualização automática dos dados. D.A.L.
  • 7. Exemplo de uma query LINQ Using NwEntities As New NORTHWNDEntities()      Dim Products = NwEntities.Products    Dim productsList = From p In Products _                                      Where p.UnitsInStock > 0 _                                      Select p.ProductID, p.ProductName, p.UnitsInStock, p.UnitPrice _                                      OrderBy UnitsInStock    dataGridViewProducts.DataSource = productsList.ToList() End Using
  • 11. Porque Precisamos do Entity Framework?
  • 12. Porque precisamos do E. F.? Como fazemos hoje Entidades e Objectos .NET DataContext
  • 17. LINQ Conclusões a tirar Flexibilidade Fácil adaptação Versatilidade Grandes Potencialidades
  • 19. Entity Framework em Acção Pontos de Interesse Fácil Intuitivo Total integração com as ferramentas habituais Rápido Eficiente
  • 20. Comparação rápida NHibernate e Entity Framework
  • 21. NHibernate   Cada entidade é mapeada através de um ficheiro XML Existem um ficheiro XML de configuração para o NHibernate saber onde encontrar os outros ficheiros XML, quais as connectionstrings a serem usadas, entre outras Para aceder a BD é usado o ISession object
  • 22. NHibernate   Quatro maneiras diferentes de aceder aos dados  HQL - que é parecido a SQL só que faz queries sobre objectos e não sobre as tabelas Criteria - uma maneira fluente de encadear chamadas a métodos, e especificar diferentes critérios para a formulação dos queries StoredProcedures SQL syntax
  • 23. NHibernate   Ferramentas para o NHibernate Fluente NHibernate - permite visualmente fazer o mapeamento das entidades LINQ NHibernateSearch - usando Lucene.NET permite pesquisas de texto bastante rápidas  LazyLoading
  • 24. Entity Framework Mapeamento visual mais completo Todas as parametrizações ficam guardadas num único ficheiro com extensão .edmx As próprias classes geradas têm relações entre elas
  • 25. Entity Framework Possibilidade de mapear Stored Procedures da mesma maneira como se mapeia tabelas Todos os acessos a Base de dados são centralizados através duma instancia do Data Context Duas maneiras de aceder a Base de dados LINQ StoredProcedures
  • 26. Entity Framework "The EF was specifically structured to separate the process of mapping queries/shaping results from building objects and tracking changes. This makes it easier to create a conceptual model … and then reuse that conceptual model for a number of other services besides just building objects. Long-term we are working to build EDM awareness into a variety of other Microsoft products...“ DannySimmonsEntity Framework Team
  • 27. Referências Blog oficial da equipa do Entity Framework http://bit.ly/EntityFrameworkTeam Vídeossobre Entity Framework no Channel 9 http://bit.ly/EntityFrameworkChannel9 Fórum Entity Framework no MSDN Brasil http://bit.ly/ForumEntityFrameworkMSDNBR Novidades Entity Framework 4.0 http://bit.ly/NovidadesEntityFramework40
  • 29. Patrocinador desta reunião http://ciclo.pt
  • 30. Obrigado! Henrry Pires henrrypires@gmail.com