Um passo em frente com o Entity Framework - Henrry Pires

29
Um passo em frente com o Entity Framework Henrry Pires http:// netponto.org

description

Apresentação de Introdução ao Entity Framework na primeira reunião presencial da comunidade NetPonto

Transcript of Um passo em frente com o Entity Framework - Henrry Pires

Page 1: Um passo em frente com o Entity Framework - Henrry Pires

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

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

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

O que é?

Page 5: Um passo em frente com o Entity Framework - Henrry Pires

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

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

Estrutura da Entity Framework

Page 8: Um passo em frente com o Entity Framework - Henrry Pires

Entity Framework Metadata

Page 9: Um passo em frente com o Entity Framework - Henrry Pires

Entity Framework

Entity Framework

Page 10: Um passo em frente com o Entity Framework - Henrry Pires

Porque Precisamos do Entity Framework?

Page 11: Um passo em frente com o Entity Framework - Henrry Pires

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

Porque precisamos do E. F.?

Rapidez

Flexibilidade

Robustez

Page 13: Um passo em frente com o Entity Framework - Henrry Pires

Como Funciona?

??

?

Page 14: Um passo em frente com o Entity Framework - Henrry Pires

Entity FrameworkVisão Geral

demonstração

Page 15: Um passo em frente com o Entity Framework - Henrry Pires

Language Integrated QueryLINQ

Page 16: Um passo em frente com o Entity Framework - Henrry Pires

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

Entity Frameworkem Acção

demonstração

Page 18: Um passo em frente com o Entity Framework - Henrry Pires

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

Comparação rápida

NHibernatee

Entity Framework

Page 20: Um passo em frente com o Entity Framework - Henrry Pires

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

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

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

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

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

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

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

Dúvidas?

Page 28: Um passo em frente com o Entity Framework - Henrry Pires

Patrocinador desta reunião

http://ciclo.pt