SlideShare ist ein Scribd-Unternehmen logo
1 von 26
ProgramaçãoemCamadas com EF4 Luciano Condé Arquiteto de Soluções Microsoft http://blogs.msdn.com/conde http://twitter.com/luconde 04/02/2010
Objetivos do Webcast Demonstrar a sugestão de umaarquitetura de aplicação com EF Demonstrar o uso do EF naconstrução de aplicações Demonstraralgunspontoscríticos Relacionamentos entre entidades Concorrência Transação Transferência de objetos entre camadas
<1>
Entity Framework Um ORM quesepara o modeloconceitual do físico Permite a programação OO sobre as entidades – herança EF “como” um DAL Feitoparaser multi-banco Suportaações CRUD (views, procs e tables) Vários providers disponíveis SQL Server, Oracle, Mysql, DB2… Suportatransação, concorrência, procs, views
Arquitetura
</1>
<2>
Primeira demo
Uma aplicação multi-camada para gerenciar um mecanismo de pedidos
Ferramentas .NET Framework 4.0 ADO.NET Entity Framework WCF ASP.NET MVC
MVC Camada de Apresentação Camada de Serviço Interfaces Serviço WCF + DLL Regras Entidades DLL EDMx 1  EDMx n  DAL
Segunda demo
Uma aplicação para controle de músicas
Ferramentas .NET Framework 4.0 ADO.NET Entity Framework WCF ASP.NET MVC POCO Self-trackings
MVC Camada de Apresentação Camada de Serviço Interfaces Serviço WCF + DLL Regras Entidades DLL EDMx 1  EDMx n  DAL
</2>
<3>
Considerações - ObjectContext Vocêcontrola Pense no tempo de vida de ObjectContext Attached X Detached dos objetos Possotermúltiplos EDMXs – Organizaçãoporcenáriosoutransaçõessemconhecimentomútuo
Considerações - Consultas Queries Linq to Entities Entity SQL Querybuilder Preferência para Linq to Entities Lazy loading X Early loading
Considerações – Extensão Entidades Propriedades OnPropertyChange ObjectContext SavingChanges OnContextCreated Uso de DTOs para transportar os dados Considere o uso de T4 Procs e views Continuam sendo utilizadas
Considerações - Concorrência Modelootimista Escolhas as colunasquedeseja “monitorar” – Concurrence Mode para “Fixed” Implemente o tratamento da Exceção “OptimisticConcurrencyException” Emcaso de conflito utilize o método Refresh paradeterminarquem tem a prioridade Você é quemcontrola a frequência de atualização
Considerações - Transação Implícitas Explícitas
Considerações – POCO, WCF A existência das propriedades ChangeObjectState Use self-trackingscomoaceleradorpara n-tier Desabilite o lazy loading Cuidado com as colisões de EntityKey Usando o WCF habilite sempre o log para saber os problemas de conversão de tipos Use DTOs para auxiliar na redução da transferência de classes entre as camadas Use a geração de código T4 para facilitar Estude Proxies
</3>
Links http://msdn.microsoft.com/en-us/magazine/ee236639.aspx - Boas práticas EF e arquitetura de acesso a dados http://blogs.msdn.com/adonet  - Time do Entity Framework http://blogs.msdn.com/efdesign - Time do Design do Entity Framework http://blogs.msdn.com/adonet/archive/2008/10/07/migrating-from-linq-to-sql-to-entity-framework-eager-loading.aspx - Migrando de Linq To sqlpara Entity Framework http://msdn.microsoft.com/en-us/magazine/cc163286.aspx- Modelando um Entity Data Model http://msdn.microsoft.com/en-us/magazine/cc700340.aspx - Entity Framework sobre arquiteturas de n-layers http://msdn.microsoft.com/en-us/magazine/cc507640.aspx- Q & A de Entity Framework  http://msdn.microsoft.com/en-us/library/bb399572.aspx 25
© 2010 Microsoft Corporation. All rights reserved. Microsoft, MSDN, the MSDN logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.   The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Weitere ähnliche Inhalte

Was ist angesagt?

Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Do monolito ao micro serviço
Do monolito ao micro serviçoDo monolito ao micro serviço
Do monolito ao micro serviçoElton Minetto
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Daniel Makiyama
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETEduardo Pires
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
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
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
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
 
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
 
Integrando web services j2 ee com
Integrando web services j2 ee comIntegrando web services j2 ee com
Integrando web services j2 ee commsincic
 
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Fernando Godóy
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvcTadeu Matos
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Vinicius Vieira
 

Was ist angesagt? (17)

Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Do monolito ao micro serviço
Do monolito ao micro serviçoDo monolito ao micro serviço
Do monolito ao micro serviço
 
Silverlight
SilverlightSilverlight
Silverlight
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
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
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
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
 
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
 
Integrando web services j2 ee com
Integrando web services j2 ee comIntegrando web services j2 ee com
Integrando web services j2 ee com
 
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvc
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#
 

Ähnlich wie Programação em Camadas com Entity Framework 4

Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesMarcelo Paiva
 
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
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4Marcelo Paiva
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
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é
 
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
 
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
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
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
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 

Ähnlich wie Programação em Camadas com Entity Framework 4 (20)

Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
Entity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data ServicesEntity Framework 4 & WCF Data Services
Entity Framework 4 & WCF Data Services
 
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
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4DotNetDay novidades entityframework 4
DotNetDay novidades entityframework 4
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
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
 
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
 
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...
 
Aula1
Aula1Aula1
Aula1
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
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
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 

Mehr von Luciano Condé

Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleLuciano Condé
 
STB Tour - Visão Geral do Windows Azure
STB Tour - Visão Geral do Windows AzureSTB Tour - Visão Geral do Windows Azure
STB Tour - Visão Geral do Windows AzureLuciano Condé
 
STB Tour - Cresça os seus negócios com Windows azure
STB Tour - Cresça os seus negócios com Windows azureSTB Tour - Cresça os seus negócios com Windows azure
STB Tour - Cresça os seus negócios com Windows azureLuciano Condé
 
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureCloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureLuciano Condé
 
Cloud Day III - Programas para parceiros com Windows Azure
Cloud Day III - Programas para parceiros com Windows AzureCloud Day III - Programas para parceiros com Windows Azure
Cloud Day III - Programas para parceiros com Windows AzureLuciano Condé
 
Cloud Day III - Visão Geral do Windows Azure
Cloud Day III - Visão Geral do Windows AzureCloud Day III - Visão Geral do Windows Azure
Cloud Day III - Visão Geral do Windows AzureLuciano Condé
 
Azure Summit 2013 - Keynote - Visão Geral do Windows Azure
Azure Summit 2013 - Keynote - Visão Geral do Windows AzureAzure Summit 2013 - Keynote - Visão Geral do Windows Azure
Azure Summit 2013 - Keynote - Visão Geral do Windows AzureLuciano Condé
 
ALM Summit 2013 - Implantação contínua com Windows Azure
ALM Summit 2013 - Implantação contínua com Windows AzureALM Summit 2013 - Implantação contínua com Windows Azure
ALM Summit 2013 - Implantação contínua com Windows AzureLuciano Condé
 
Visual Studio Summit 2012 - Novidades do Windows Azure
Visual Studio Summit 2012 - Novidades do Windows AzureVisual Studio Summit 2012 - Novidades do Windows Azure
Visual Studio Summit 2012 - Novidades do Windows AzureLuciano Condé
 
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows Azure
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows AzureTDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows Azure
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows AzureLuciano Condé
 
TDC 2012 Florianópolis - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Visão Geral do Windows AzureTDC 2012 Florianópolis - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Visão Geral do Windows AzureLuciano Condé
 
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows AzureTDC 2012 Florianópolis - Keynote - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows AzureLuciano Condé
 
TDC 2012 - Visão Geral do Windows Azure
TDC 2012 - Visão Geral do Windows AzureTDC 2012 - Visão Geral do Windows Azure
TDC 2012 - Visão Geral do Windows AzureLuciano Condé
 
Sucesu - Visão Geral do Windows Azure e a Era do CloudOS
Sucesu - Visão Geral do Windows Azure e a Era do CloudOSSucesu - Visão Geral do Windows Azure e a Era do CloudOS
Sucesu - Visão Geral do Windows Azure e a Era do CloudOSLuciano Condé
 
Sharepoint360 - Hospedando Sharepoint no Windows Azure
Sharepoint360 - Hospedando Sharepoint no Windows AzureSharepoint360 - Hospedando Sharepoint no Windows Azure
Sharepoint360 - Hospedando Sharepoint no Windows AzureLuciano Condé
 
Fórum de Aplicações - Visão de nuvem da Microsoft
Fórum de Aplicações - Visão de nuvem da MicrosoftFórum de Aplicações - Visão de nuvem da Microsoft
Fórum de Aplicações - Visão de nuvem da MicrosoftLuciano Condé
 
Fórum de Aplicações - Cenários de Windows Azure
Fórum de Aplicações - Cenários de Windows AzureFórum de Aplicações - Cenários de Windows Azure
Fórum de Aplicações - Cenários de Windows AzureLuciano Condé
 
Windows Azure - Verificação anti-fraude, alterando o número do telefone
Windows Azure - Verificação anti-fraude, alterando o número do telefoneWindows Azure - Verificação anti-fraude, alterando o número do telefone
Windows Azure - Verificação anti-fraude, alterando o número do telefoneLuciano Condé
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureLuciano Condé
 
Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight  Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight Luciano Condé
 

Mehr von Luciano Condé (20)

Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da OracleOracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
Oracle - Visão Geral de IaaS e PaaS dos serviços de Nuvem da Oracle
 
STB Tour - Visão Geral do Windows Azure
STB Tour - Visão Geral do Windows AzureSTB Tour - Visão Geral do Windows Azure
STB Tour - Visão Geral do Windows Azure
 
STB Tour - Cresça os seus negócios com Windows azure
STB Tour - Cresça os seus negócios com Windows azureSTB Tour - Cresça os seus negócios com Windows azure
STB Tour - Cresça os seus negócios com Windows azure
 
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows AzureCloud Day III - Modelos de licenciamento para parceiros com Windows Azure
Cloud Day III - Modelos de licenciamento para parceiros com Windows Azure
 
Cloud Day III - Programas para parceiros com Windows Azure
Cloud Day III - Programas para parceiros com Windows AzureCloud Day III - Programas para parceiros com Windows Azure
Cloud Day III - Programas para parceiros com Windows Azure
 
Cloud Day III - Visão Geral do Windows Azure
Cloud Day III - Visão Geral do Windows AzureCloud Day III - Visão Geral do Windows Azure
Cloud Day III - Visão Geral do Windows Azure
 
Azure Summit 2013 - Keynote - Visão Geral do Windows Azure
Azure Summit 2013 - Keynote - Visão Geral do Windows AzureAzure Summit 2013 - Keynote - Visão Geral do Windows Azure
Azure Summit 2013 - Keynote - Visão Geral do Windows Azure
 
ALM Summit 2013 - Implantação contínua com Windows Azure
ALM Summit 2013 - Implantação contínua com Windows AzureALM Summit 2013 - Implantação contínua com Windows Azure
ALM Summit 2013 - Implantação contínua com Windows Azure
 
Visual Studio Summit 2012 - Novidades do Windows Azure
Visual Studio Summit 2012 - Novidades do Windows AzureVisual Studio Summit 2012 - Novidades do Windows Azure
Visual Studio Summit 2012 - Novidades do Windows Azure
 
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows Azure
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows AzureTDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows Azure
TDC 2012 Florianópolis - Padrões (Patterns) de desenvolvimento com Windows Azure
 
TDC 2012 Florianópolis - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Visão Geral do Windows AzureTDC 2012 Florianópolis - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Visão Geral do Windows Azure
 
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows AzureTDC 2012 Florianópolis - Keynote - Visão Geral do Windows Azure
TDC 2012 Florianópolis - Keynote - Visão Geral do Windows Azure
 
TDC 2012 - Visão Geral do Windows Azure
TDC 2012 - Visão Geral do Windows AzureTDC 2012 - Visão Geral do Windows Azure
TDC 2012 - Visão Geral do Windows Azure
 
Sucesu - Visão Geral do Windows Azure e a Era do CloudOS
Sucesu - Visão Geral do Windows Azure e a Era do CloudOSSucesu - Visão Geral do Windows Azure e a Era do CloudOS
Sucesu - Visão Geral do Windows Azure e a Era do CloudOS
 
Sharepoint360 - Hospedando Sharepoint no Windows Azure
Sharepoint360 - Hospedando Sharepoint no Windows AzureSharepoint360 - Hospedando Sharepoint no Windows Azure
Sharepoint360 - Hospedando Sharepoint no Windows Azure
 
Fórum de Aplicações - Visão de nuvem da Microsoft
Fórum de Aplicações - Visão de nuvem da MicrosoftFórum de Aplicações - Visão de nuvem da Microsoft
Fórum de Aplicações - Visão de nuvem da Microsoft
 
Fórum de Aplicações - Cenários de Windows Azure
Fórum de Aplicações - Cenários de Windows AzureFórum de Aplicações - Cenários de Windows Azure
Fórum de Aplicações - Cenários de Windows Azure
 
Windows Azure - Verificação anti-fraude, alterando o número do telefone
Windows Azure - Verificação anti-fraude, alterando o número do telefoneWindows Azure - Verificação anti-fraude, alterando o número do telefone
Windows Azure - Verificação anti-fraude, alterando o número do telefone
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL Azure
 
Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight  Construindo aplicações para o Windows Phone com Silverlight
Construindo aplicações para o Windows Phone com Silverlight
 

Programação em Camadas com Entity Framework 4

  • 1. ProgramaçãoemCamadas com EF4 Luciano Condé Arquiteto de Soluções Microsoft http://blogs.msdn.com/conde http://twitter.com/luconde 04/02/2010
  • 2. Objetivos do Webcast Demonstrar a sugestão de umaarquitetura de aplicação com EF Demonstrar o uso do EF naconstrução de aplicações Demonstraralgunspontoscríticos Relacionamentos entre entidades Concorrência Transação Transferência de objetos entre camadas
  • 4. Entity Framework Um ORM quesepara o modeloconceitual do físico Permite a programação OO sobre as entidades – herança EF “como” um DAL Feitoparaser multi-banco Suportaações CRUD (views, procs e tables) Vários providers disponíveis SQL Server, Oracle, Mysql, DB2… Suportatransação, concorrência, procs, views
  • 9. Uma aplicação multi-camada para gerenciar um mecanismo de pedidos
  • 10. Ferramentas .NET Framework 4.0 ADO.NET Entity Framework WCF ASP.NET MVC
  • 11. MVC Camada de Apresentação Camada de Serviço Interfaces Serviço WCF + DLL Regras Entidades DLL EDMx 1 EDMx n DAL
  • 13. Uma aplicação para controle de músicas
  • 14. Ferramentas .NET Framework 4.0 ADO.NET Entity Framework WCF ASP.NET MVC POCO Self-trackings
  • 15. MVC Camada de Apresentação Camada de Serviço Interfaces Serviço WCF + DLL Regras Entidades DLL EDMx 1 EDMx n DAL
  • 18. Considerações - ObjectContext Vocêcontrola Pense no tempo de vida de ObjectContext Attached X Detached dos objetos Possotermúltiplos EDMXs – Organizaçãoporcenáriosoutransaçõessemconhecimentomútuo
  • 19. Considerações - Consultas Queries Linq to Entities Entity SQL Querybuilder Preferência para Linq to Entities Lazy loading X Early loading
  • 20. Considerações – Extensão Entidades Propriedades OnPropertyChange ObjectContext SavingChanges OnContextCreated Uso de DTOs para transportar os dados Considere o uso de T4 Procs e views Continuam sendo utilizadas
  • 21. Considerações - Concorrência Modelootimista Escolhas as colunasquedeseja “monitorar” – Concurrence Mode para “Fixed” Implemente o tratamento da Exceção “OptimisticConcurrencyException” Emcaso de conflito utilize o método Refresh paradeterminarquem tem a prioridade Você é quemcontrola a frequência de atualização
  • 22. Considerações - Transação Implícitas Explícitas
  • 23. Considerações – POCO, WCF A existência das propriedades ChangeObjectState Use self-trackingscomoaceleradorpara n-tier Desabilite o lazy loading Cuidado com as colisões de EntityKey Usando o WCF habilite sempre o log para saber os problemas de conversão de tipos Use DTOs para auxiliar na redução da transferência de classes entre as camadas Use a geração de código T4 para facilitar Estude Proxies
  • 25. Links http://msdn.microsoft.com/en-us/magazine/ee236639.aspx - Boas práticas EF e arquitetura de acesso a dados http://blogs.msdn.com/adonet - Time do Entity Framework http://blogs.msdn.com/efdesign - Time do Design do Entity Framework http://blogs.msdn.com/adonet/archive/2008/10/07/migrating-from-linq-to-sql-to-entity-framework-eager-loading.aspx - Migrando de Linq To sqlpara Entity Framework http://msdn.microsoft.com/en-us/magazine/cc163286.aspx- Modelando um Entity Data Model http://msdn.microsoft.com/en-us/magazine/cc700340.aspx - Entity Framework sobre arquiteturas de n-layers http://msdn.microsoft.com/en-us/magazine/cc507640.aspx- Q & A de Entity Framework http://msdn.microsoft.com/en-us/library/bb399572.aspx 25
  • 26. © 2010 Microsoft Corporation. All rights reserved. Microsoft, MSDN, the MSDN logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.   The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Hinweis der Redaktion

  1. Dá enfase em Linq to Entities e Entity SQL