um passo em frente com o entity framework - henrry pires
DESCRIPTION
Apresentação de Introdução ao Entity Framework na primeira reunião presencial da comunidade NetPontoTRANSCRIPT
![Page 1: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/1.jpg)
Um passo em frente com o Entity Framework
Henrry Pires
http://netponto.org
![Page 2: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/2.jpg)
Henrry Pires8 anos de experiência profissional em TIHá 6 anos a programar na plataforma .NET
![Page 3: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/3.jpg)
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
![Page 4: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/4.jpg)
O que é?
![Page 5: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/5.jpg)
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.
![Page 6: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/6.jpg)
Exemplo de uma query LINQUsing 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 _ Order By UnitsInStock dataGridViewProducts.DataSource = productsList.ToList()
End Using
![Page 7: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/7.jpg)
Estrutura da Entity Framework
![Page 8: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/8.jpg)
Entity Framework Metadata
![Page 9: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/9.jpg)
Entity Framework
Entity Framework
![Page 10: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/10.jpg)
Porque Precisamos do Entity Framework?
![Page 11: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/11.jpg)
Porque precisamos do E. F.?
• Como fazemos hoje
• Entidades e Objectos .NET
• DataContext
![Page 12: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/12.jpg)
Porque precisamos do E. F.?
Rapidez
Flexibilidade
Robustez
![Page 13: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/13.jpg)
Como Funciona?
??
?
![Page 14: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/14.jpg)
Entity FrameworkVisão Geral
demonstração
![Page 15: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/15.jpg)
Language Integrated QueryLINQ
![Page 16: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/16.jpg)
LINQ
Conclusões a tirar
• Flexibilidade• Fácil adaptação• Versatilidade• Grandes Potencialidades
![Page 17: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/17.jpg)
Entity Frameworkem Acção
demonstração
![Page 18: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/18.jpg)
Entity Framework em Acção
Pontos de Interesse1. Fácil2. Intuitivo3. Total integração com as ferramentas
habituais4. Rápido5. Eficiente
![Page 19: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/19.jpg)
Comparação rápida
NHibernatee
Entity Framework
![Page 20: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/20.jpg)
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 connection strings a serem usadas, entre outras
• Para aceder a BD é usado o ISession object
![Page 21: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/21.jpg)
NHibernate • Quatro maneiras diferentes de aceder aos dados
1. HQL - que é parecido a SQL só que faz queries sobre objectos e não sobre as tabelas
2. Criteria - uma maneira fluente de encadear chamadas a métodos, e especificar diferentes critérios para a formulação dos queries
3. Stored Procedures4. SQL syntax
![Page 22: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/22.jpg)
NHibernate • Ferramentas para o NHibernate– Fluente NHibernate - permite visualmente fazer
o mapeamento das entidades– LINQ–NHibernate Search - usando Lucene.NET permite
pesquisas de texto bastante rápidas• Lazy Loading
![Page 23: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/23.jpg)
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
![Page 24: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/24.jpg)
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 dados1. LINQ2. Stored Procedures
![Page 25: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/25.jpg)
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...“
Danny Simmons Entity Framework Team
![Page 26: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/26.jpg)
ReferênciasBlog oficial da equipa do Entity Framework
– http://bit.ly/EntityFrameworkTeam
Vídeos sobre 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
![Page 27: Um passo em frente com o Entity Framework - Henrry Pires](https://reader034.vdocuments.site/reader034/viewer/2022042700/55496c0db4c90595518b4f0d/html5/thumbnails/27.jpg)
Dúvidas?