Entity Framework 4

2,878 views
2,804 views

Published on

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,878
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Entity Framework 4

  1. 1. Entity Framework 4<br />Carlos dos Santos<br />cds@cds-software.com.br<br />Blog: www.carloscds.net<br />Twitter: @cdssoftware<br />Microsoft MVP C#<br />CDS Informática Ltda. <br />Microsoft Gold Certified Partner <br />Microsoft Visual Studio Team System Inner Circle Partner<br />
  2. 2. Agenda<br />Entity Framework<br />Novidades do Entity Framework 4<br />POCO<br />LINQ e EF4<br />
  3. 3. ADO.NET Entity Framework<br />Extensão do modelo ADO.NET<br />Criadoparasuportarqualquerbanco de dados;<br />Funcionalidades<br />Abstrai o modelo do banco de dados:<br />ModeloConceitual e ModeloFísico;<br />Faz o mapeamentoObjetoRelacional;<br />Cria o banco de dados a partir de um modelo;<br />Gera o modelo a partir do banco de dados;<br />
  4. 4. ADO.NET Entity Framework<br />ADO.NET API<br />ORM API<br />Entity Provider<br />Connection<br />ObjectContext<br />Command<br />ObjectQuery<br />ModeloConceitual<br />DataReader<br />Mapeamento<br />ModeloFísico<br />SQL Provider<br />Oracle Provider<br />...<br />
  5. 5. ADO.NET x Entity Framework<br />Entity Framework<br />ADO.Net<br />
  6. 6. Entity Framework 4.0<br />Ferramenta de designer melhorada (VS2010)<br />Maiscontrole e flexibilidade;<br />POCO (Plan Old CLR Objects - persistence Ignorance);<br />Desenvolvimento N-Tier (emcamadas);<br />Lazy Loading (dados carregadospordemanda);<br />Suporte a pluralização; <br />
  7. 7. Designer Aprimorado (EDM Designer)<br />Model First (crie o modeloprimeiro e gere o BD depois);<br />TiposComplexos;<br />Templates parageração de código (T4);<br />Melhoria no mapeamento de Stored Procedures;<br />Melhorqualidade do SQL geradoem runtime;<br />
  8. 8. Exemplo de melhoria do SQL:<br />
  9. 9. DemoADO.Net x EF4Designer EDM<br />
  10. 10. Model-First<br />Existing<br />Database<br />Generated<br />Entity Data<br />Model<br />Database<br />First (v1)<br />Generated<br />Database<br />Entity Data<br />Model<br />Model<br />First (v4)<br />
  11. 11. Modelagem de dados<br />Classe -> Script database<br />
  12. 12. TiposComplexos (Complex Types)<br />VS.<br />1:1 DB Mapping <br />aglomerado<br />Flexibilidade no desenho do modelo<br />Maisorganizado<br />
  13. 13. DemoModel FirstTipos Complexos<br />
  14. 14. POCO<br />Classes quesuportam Persistence Ignorance <br />Separacompletamenteosobjetos do acesso a dados (DAL);<br />Serializaosobjetos de negócio;<br />Flexibilidadenos testes e nalógica do negócio;<br />Geraçãoatravés de templates T4<br />
  15. 15. POCO<br />Definição da Classe<br />Classeindependente - POCO<br />Propriedade de navegação<br />Definição das propriedades<br />
  16. 16. DemoPOCO<br />
  17. 17. Desenvolvimento de Aplicações<br /><ul><li>Barreira entre dados e objetos:
  18. 18. Desenvolvedor precisa escrever muitos comandos SQL;
  19. 19. Muitos objetos sem integração;
  20. 20. Necessidade de muitos objetos e consultas para recuperar uma informação necessária</li></li></ul><li>LINQ Arquitetura & Componentes<br />C#<br />VB<br />Outros…<br />.NET Language Integrated Query<br />LINQ toObjects<br />LINQ toSQL<br />LINQ toXML<br />LINQ toDataSets<br />LINQ toEntities<br /><book><br /> <title/><br /> <author/><br /> <year/><br /> <price/><br /></book><br />Objects<br />XML<br />Relational<br />
  21. 21. Características principais<br /><ul><li>Novo modelo de manipulação de objetos;
  22. 22. Desenhado para reduzir a complexidade;
  23. 23. Transparência da fonte de dados (objetos, XML, SqlServer...);
  24. 24. Operadores de consulta padrão (Select, Where, Join...)
  25. 25. Acesso fácil aos tipos de dados (intellisense)</li></li></ul><li>DemoLINQ com EF4<br />
  26. 26. Links úteis<br /><ul><li>Visual Studio 2010:</li></ul>http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx<br /><ul><li>Entity Framework Team Blog:</li></ul>http://blogs.msdn.com/adonet/<br /><ul><li>Entity Framework Design Blog:</li></ul>http://blogs.msdn.com/efdesign/<br /><ul><li>SharpCode (Grupo de Usuários de .Net):</li></ul>http://www.sharpcode.com.br<br />Carlos dos Santos<br />cds@cds-software.com.br<br />Blog: www.carloscds.net<br />Twitter: @cdssoftware<br />
  27. 27. ©2004 Microsoft Corporation. All rights reserved.<br />This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.<br />

×