O documento apresenta o Entity Framework, descrevendo o que é e como funciona este framework de mapeamento objeto-relacional para .NET. Apresenta exemplos de queries LINQ e compara o EF com o NHibernate, destacando as vantagens do EF como mapeamento visual, integração com ferramentas .NET e centralização no data context.
6. 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.
7. 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 _ OrderBy UnitsInStock dataGridViewProducts.DataSource = productsList.ToList() End Using
21. 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 connectionstrings a serem usadas, entre outras Para aceder a BD é usado o ISession object
22. NHibernate Quatro maneiras diferentes de aceder aos dados HQL - que é parecido a SQL só que faz queries sobre objectos e não sobre as tabelas Criteria - uma maneira fluente de encadear chamadas a métodos, e especificar diferentes critérios para a formulação dos queries StoredProcedures SQL syntax
23. NHibernate Ferramentas para o NHibernate Fluente NHibernate - permite visualmente fazer o mapeamento das entidades LINQ NHibernateSearch - usando Lucene.NET permite pesquisas de texto bastante rápidas LazyLoading
24. 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
25. 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 LINQ StoredProcedures
26. 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...“ DannySimmonsEntity Framework Team
27. Referências Blog oficial da equipa do Entity Framework http://bit.ly/EntityFrameworkTeam Vídeossobre 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