Um passo em frente com o Entity Framework - Henrry Pires

Post on 06-May-2015

1.869 views 0 download

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

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?

Patrocinador desta reunião

http://ciclo.pt

Obrigado!

Henrry Pireshenrrypires@gmail.com