Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Um passo em frente com o Entity Framework - Henrry Pires

Um passo em frente com o Entity Framework - Henrry Pires

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

Comunidade NetPonto

August 15, 2009
Tweet

More Decks by Comunidade NetPonto

Other Decks in Programming

Transcript

  1. Henrry Pires 8 anos de experiência profissional em TI Há

    6 anos a programar na plataforma .NET
  2. 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
  3. 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.
  4. Exemplo de uma query LINQ Using 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
  5. Porque precisamos do E. F.? • Como fazemos hoje •

    Entidades e Objectos .NET • DataContext
  6. Entity Framework em Acção Pontos de Interesse 1. Fácil 2.

    Intuitivo 3. Total integração com as ferramentas habituais 4. Rápido 5. Eficiente
  7. 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
  8. 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 Procedures 4. SQL syntax
  9. 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
  10. 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
  11. 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 dados 1. LINQ 2. Stored Procedures
  12. 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
  13. Referências Blog 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