SlideShare une entreprise Scribd logo
1  sur  10
Rodolfo Fadino
@rodolfofadino
Sobre
 Especialista em desenvolvimento web, graduado no
  curso Superior de Tecnologia em Processamento de
  Dados pela Faculdade de Tecnologia de São Paulo –
  Fatec-SP.
 Trabalha no portal Minha Vida, o maior portal de
  Saúde e Bem-estar do Brasil, onde participa de projetos
  visando sempre desenhar e criar soluções de alta
  performance e alta escalabilidade.
ADO Entity Framework
 ORM (Object Relational Mapping)
 Principal ferramenta de persistência de dados na
  plataforma .NET.
 Integrante do ADO .NET
 Open Source (http://entityframework.codeplex.com/)

Vantagens
 Setup rápido
 Sem Gerenciamento manual
    Chaves, relacionamentos
    Lazy Load
    Validação
 Inteligente => update somente nos valores alterados
 Suporte a vários RDMS (relational database
  management system)
 Seguro ( ! SQL Injection)
“Real” Web Applications?
 N Camadas
 Sai do CRUD básico
 Diversos projetos
 Complexidade em Logica/Views
 Performance
 Concorrência
 Injeção de Dependencia (EF)
Demos
Considerações “Real” Web
 Use o padrão Repository
 Converta todas collections para Ienumerable
    Evita execução for a do escopo do contexto
       var customer = ctx.Customers;
       var customer = ctx.Customers.ToList();
 Crie um novo context por requisição – Não cacheie
Considerações MVC
 Para Views não use entidades do EF, mapeie em
  ViewModels
   http://automapper.org/
 DbContext não thread safe.
   Instancie um novo por requisição no contrutor, ou no DI
   Não cacheie ou use em uma instancia estática
 Dispose Context
 Não programe consultas com EF no controller
Links
 http://tecnologia.minhavida.com.br/
 http://rodolfofadino.com.br/
 http://entityframework.codeplex.com/
 http://completedevelopment.blogspot.com/2012/06/d
 ependency-injection-with-entity.html

Contenu connexe

Tendances

Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEelliando dias
 
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDesenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDomingos Teruel
 
Introdução ao JavaServer Faces
Introdução ao JavaServer FacesIntrodução ao JavaServer Faces
Introdução ao JavaServer FacesWillian Watanabe
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Luciano Condé
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overviewqualidatavix
 
API REST com Django Rest Famework
API REST com Django Rest Famework API REST com Django Rest Famework
API REST com Django Rest Famework Jéssica Paz
 
Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMarkus Christen
 
Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.Rosa Sampaio
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 

Tendances (20)

Desenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EEDesenvolvendo Produtos Com Java EE
Desenvolvendo Produtos Com Java EE
 
Minicurso jsf2.0
Minicurso jsf2.0Minicurso jsf2.0
Minicurso jsf2.0
 
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User InterfaceDesenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
Desenvolvimento de Aplicações com Zend Framework e Yahoo! User Interface
 
O programador php
O programador phpO programador php
O programador php
 
Introdução ao JavaServer Faces
Introdução ao JavaServer FacesIntrodução ao JavaServer Faces
Introdução ao JavaServer Faces
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
Encontro no .NET Architects - Application Architecture Guide (AppArchGuide)
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
JEE6 - Introdução
JEE6 - IntroduçãoJEE6 - Introdução
JEE6 - Introdução
 
API REST com Django Rest Famework
API REST com Django Rest Famework API REST com Django Rest Famework
API REST com Django Rest Famework
 
Monitoração de Aplicações Distribuídas
Monitoração de Aplicações DistribuídasMonitoração de Aplicações Distribuídas
Monitoração de Aplicações Distribuídas
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.Robot Framework projetos multifuncionalidades - all-in-one.
Robot Framework projetos multifuncionalidades - all-in-one.
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 

En vedette (13)

Entregabilidade e Emails
Entregabilidade e EmailsEntregabilidade e Emails
Entregabilidade e Emails
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
EmberJS + SPA
EmberJS + SPAEmberJS + SPA
EmberJS + SPA
 
Explorando a API do Facebook com .NET
Explorando a API do Facebook com .NETExplorando a API do Facebook com .NET
Explorando a API do Facebook com .NET
 
Desenvolvimento Web com ASP.NET MVC
Desenvolvimento Web com ASP.NET MVCDesenvolvimento Web com ASP.NET MVC
Desenvolvimento Web com ASP.NET MVC
 
Windows Azure: PaaS e IaaS
Windows Azure: PaaS e IaaSWindows Azure: PaaS e IaaS
Windows Azure: PaaS e IaaS
 
Entregando arquivos estáticos com proxy reverso NGINX
Entregando arquivos estáticos com proxy reverso NGINXEntregando arquivos estáticos com proxy reverso NGINX
Entregando arquivos estáticos com proxy reverso NGINX
 
SignalR Visual Studio Summit
SignalR Visual Studio SummitSignalR Visual Studio Summit
SignalR Visual Studio Summit
 
Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016Escalabilidade com docker - ASP.NET Conference 2016
Escalabilidade com docker - ASP.NET Conference 2016
 
Smtp => Fatores e entregabilidade
Smtp => Fatores e entregabilidadeSmtp => Fatores e entregabilidade
Smtp => Fatores e entregabilidade
 
ASP.NET Core e MVC - Fatec-SP 2016
ASP.NET Core e MVC - Fatec-SP 2016ASP.NET Core e MVC - Fatec-SP 2016
ASP.NET Core e MVC - Fatec-SP 2016
 
Rendering engine
Rendering engineRendering engine
Rendering engine
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 

Similaire à Entity Framework

Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no javaPedro Cavalero
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...iMasters
 
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADExtreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADCesar Romero
 
Geração de Código com o MyGeneration
Geração de Código com o MyGenerationGeração de Código com o MyGeneration
Geração de Código com o MyGenerationComunidade NetPonto
 
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)Giovanni Bassi
 
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
 
TDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresTDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresHélio Sá Moreira
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioRalph Rassweiler
 
Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Emerson Saito
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAYelken Heckman Ferreira Gonzales
 
SoapUI & Jmeter Basics Web service testing
SoapUI & Jmeter Basics Web service testingSoapUI & Jmeter Basics Web service testing
SoapUI & Jmeter Basics Web service testingRicardo Moura
 
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
 

Similaire à Entity Framework (20)

Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no java
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RADExtreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
Extreme 360 Arquitetura para Aplicações Delphi Spring4D - OOP e RAD
 
Geração de Código com o MyGeneration
Geração de Código com o MyGenerationGeração de Código com o MyGeneration
Geração de Código com o MyGeneration
 
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)ASP.NET MVC para desenvolvedores Web Forms (TechEd)
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
 
Framework Entities
Framework EntitiesFramework Entities
Framework Entities
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
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
 
TDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para DesenvolvedoresTDC 2011 - SharePoint 2010 para Desenvolvedores
TDC 2011 - SharePoint 2010 para Desenvolvedores
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Apresentação ISFramework
Apresentação ISFrameworkApresentação ISFramework
Apresentação ISFramework
 
[MOT] Mural de Vagas - ago.set-19
[MOT] Mural de Vagas - ago.set-19[MOT] Mural de Vagas - ago.set-19
[MOT] Mural de Vagas - ago.set-19
 
Arquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócioArquitetura web para sistemas de negócio
Arquitetura web para sistemas de negócio
 
Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
SoapUI & Jmeter Basics Web service testing
SoapUI & Jmeter Basics Web service testingSoapUI & Jmeter Basics Web service testing
SoapUI & Jmeter Basics Web service testing
 
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
 

Plus de Rodolfo Fadino Junior

Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Rodolfo Fadino Junior
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net coreRodolfo Fadino Junior
 
Mvp conf middlewares com asp.net core
Mvp conf   middlewares com asp.net coreMvp conf   middlewares com asp.net core
Mvp conf middlewares com asp.net coreRodolfo Fadino Junior
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Design e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpDesign e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpRodolfo Fadino Junior
 
Design e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpDesign e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpRodolfo Fadino Junior
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreRodolfo Fadino Junior
 
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosFatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosRodolfo Fadino Junior
 
ASP.NET MVC 4 Codificando.NET 10 anos
ASP.NET MVC 4 Codificando.NET 10 anosASP.NET MVC 4 Codificando.NET 10 anos
ASP.NET MVC 4 Codificando.NET 10 anosRodolfo Fadino Junior
 
StructureMap, Injetor de Dependência
StructureMap, Injetor de DependênciaStructureMap, Injetor de Dependência
StructureMap, Injetor de DependênciaRodolfo Fadino Junior
 

Plus de Rodolfo Fadino Junior (18)

Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]Como gerenciar e manter minha equipe engajada [Avance 21]
Como gerenciar e manter minha equipe engajada [Avance 21]
 
Performance tdc sp 2020 final
Performance tdc sp 2020 finalPerformance tdc sp 2020 final
Performance tdc sp 2020 final
 
TDC 2019 Clean Architeture com .net core
TDC 2019  Clean Architeture com .net coreTDC 2019  Clean Architeture com .net core
TDC 2019 Clean Architeture com .net core
 
Mvp conf middlewares com asp.net core
Mvp conf   middlewares com asp.net coreMvp conf   middlewares com asp.net core
Mvp conf middlewares com asp.net core
 
Middlewares com asp.net core
Middlewares com asp.net coreMiddlewares com asp.net core
Middlewares com asp.net core
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
DevXperience WPO com .NET CORE
DevXperience WPO com .NET COREDevXperience WPO com .NET CORE
DevXperience WPO com .NET CORE
 
Design e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharpDesign e boas práticas de api's com CSharp
Design e boas práticas de api's com CSharp
 
Design e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharpDesign e boas praticas de apis com CSharp
Design e boas praticas de apis com CSharp
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET Core
 
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuáriosFatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
Fatec-SP Desenvolvendo Web/Mobile para 20 milões de usuários
 
Minha Vida Fiap - Desenvolvimento
Minha Vida Fiap - DesenvolvimentoMinha Vida Fiap - Desenvolvimento
Minha Vida Fiap - Desenvolvimento
 
TDC, Quem derrubou o meu site?
TDC, Quem derrubou o meu site?TDC, Quem derrubou o meu site?
TDC, Quem derrubou o meu site?
 
Performance Web
Performance WebPerformance Web
Performance Web
 
ASP.NET MVC 4 Codificando.NET 10 anos
ASP.NET MVC 4 Codificando.NET 10 anosASP.NET MVC 4 Codificando.NET 10 anos
ASP.NET MVC 4 Codificando.NET 10 anos
 
StructureMap, Injetor de Dependência
StructureMap, Injetor de DependênciaStructureMap, Injetor de Dependência
StructureMap, Injetor de Dependência
 
Web Real-time com ASP.NET SignalR
Web Real-time com ASP.NET SignalRWeb Real-time com ASP.NET SignalR
Web Real-time com ASP.NET SignalR
 
Boas práticas com
Boas práticas comBoas práticas com
Boas práticas com
 

Dernier

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.docx2m Assessoria
 
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 exemploDanilo Pinotti
 
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.docx2m Assessoria
 
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 CalisthenicsDanilo Pinotti
 
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.docx2m Assessoria
 
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.docx2m Assessoria
 

Dernier (6)

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
 
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
 
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
 

Entity Framework

  • 2. Sobre  Especialista em desenvolvimento web, graduado no curso Superior de Tecnologia em Processamento de Dados pela Faculdade de Tecnologia de São Paulo – Fatec-SP.  Trabalha no portal Minha Vida, o maior portal de Saúde e Bem-estar do Brasil, onde participa de projetos visando sempre desenhar e criar soluções de alta performance e alta escalabilidade.
  • 3. ADO Entity Framework  ORM (Object Relational Mapping)  Principal ferramenta de persistência de dados na plataforma .NET.  Integrante do ADO .NET  Open Source (http://entityframework.codeplex.com/) 
  • 4. Vantagens  Setup rápido  Sem Gerenciamento manual  Chaves, relacionamentos  Lazy Load  Validação  Inteligente => update somente nos valores alterados  Suporte a vários RDMS (relational database management system)  Seguro ( ! SQL Injection)
  • 5. “Real” Web Applications?  N Camadas  Sai do CRUD básico  Diversos projetos  Complexidade em Logica/Views  Performance  Concorrência  Injeção de Dependencia (EF)
  • 7. Considerações “Real” Web  Use o padrão Repository  Converta todas collections para Ienumerable  Evita execução for a do escopo do contexto  var customer = ctx.Customers;  var customer = ctx.Customers.ToList();  Crie um novo context por requisição – Não cacheie
  • 8. Considerações MVC  Para Views não use entidades do EF, mapeie em ViewModels  http://automapper.org/  DbContext não thread safe.  Instancie um novo por requisição no contrutor, ou no DI  Não cacheie ou use em uma instancia estática  Dispose Context  Não programe consultas com EF no controller
  • 9.
  • 10. Links  http://tecnologia.minhavida.com.br/  http://rodolfofadino.com.br/  http://entityframework.codeplex.com/  http://completedevelopment.blogspot.com/2012/06/d ependency-injection-with-entity.html