Um passo em frente com o Entity Framework - Henrry Pires
-
Upload
comunidade-netponto -
Category
Technology
-
view
1.867 -
download
0
description
Transcript of Um passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework
Henrry Pires
http://netponto.org
Henrry Pires8 anos de experiência profissional em TIHá 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 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
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.?
Rapidez
Flexibilidade
Robustez
Como Funciona?
??
?
Entity FrameworkVisão Geral
demonstração
Language Integrated QueryLINQ
LINQ
Conclusões a tirar
• Flexibilidade• Fácil adaptação• Versatilidade• Grandes Potencialidades
Entity Frameworkem Acção
demonstração
Entity Framework em Acção
Pontos de Interesse1. Fácil2. Intuitivo3. Total integração com as ferramentas
habituais4. Rápido5. Eficiente
Comparação rápida
NHibernatee
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 connection strings a serem usadas, entre outras
• Para aceder a BD é usado o ISession object
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
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
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 dados1. LINQ2. Stored Procedures
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
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
Dúvidas?