SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Um passo em frente com o Entity Framework - Henrry Pires
Um passo em frente com o Entity Framework - Henrry Pires
1.
http://netponto.org<br />Um passo em frente com o Entity FrameworkHenrry Pires<br />
2.
Henrry Pires<br />8 anos de experiência profissional em TI<br />Há 6 anos a programar na plataforma .NET<br />
3.
Henrry Pires<br />8 anos de experiência profissional em TI<br />Há 6 anos a programar na plataforma .NET<br />{<br />
4.
Agenda<br />O que é, e para que serve?<br />Porque precisamos da E. F.?<br />Como Funciona?<br />LINQ<br />Comparação NHibernate e E.F.<br />Entity Framework em acção<br />
6.
O que é?<br />Abstração sobre o ADO .NET.<br />Criação de modelos conceptuais.<br />Queries LINQ e/ou E-SQL.<br />Actualização automática dos dados.<br />D.A.L.<br />
7.
Exemplo de uma query LINQ<br />Using NwEntities As New NORTHWNDEntities()<br /> <br /> Dim Products = NwEntities.Products<br /> Dim productsList = From p In Products _<br /> Where p.UnitsInStock > 0 _<br /> Select p.ProductID, p.ProductName, p.UnitsInStock, p.UnitPrice _<br /> OrderBy UnitsInStock<br /> dataGridViewProducts.DataSource = productsList.ToList()<br />End Using<br />
19.
Entity Framework em Acção<br />Pontos de Interesse<br />Fácil<br />Intuitivo<br />Total integração com as ferramentas habituais<br />Rápido<br />Eficiente<br />
21.
NHibernate <br />Cada entidade é mapeada através de um ficheiro XML<br />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<br />Para aceder a BD é usado o ISession object<br />
22.
NHibernate <br />Quatro maneiras diferentes de aceder aos dados<br /> HQL - que é parecido a SQL só que faz queries sobre objectos e não sobre as tabelas<br />Criteria - uma maneira fluente de encadear chamadas a métodos, e especificar diferentes critérios para a formulação dos queries<br />StoredProcedures<br />SQL syntax<br />
23.
NHibernate <br />Ferramentas para o NHibernate<br />Fluente NHibernate - permite visualmente fazer o mapeamento das entidades<br />LINQ<br />NHibernateSearch - usando Lucene.NET permite pesquisas de texto bastante rápidas<br /> LazyLoading<br />
24.
Entity Framework<br />Mapeamento visual mais completo<br />Todas as parametrizações ficam guardadas num único ficheiro com extensão .edmx<br />As próprias classes geradas têm relações entre elas<br />
25.
Entity Framework<br />Possibilidade de mapear Stored Procedures da mesma maneira como se mapeia tabelas<br />Todos os acessos a Base de dados são centralizados através duma instancia do Data Context<br />Duas maneiras de aceder a Base de dados<br />LINQ<br />StoredProcedures<br />
26.
Entity Framework<br />"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...“<br />DannySimmonsEntity Framework Team<br />
27.
Referências<br />Blog oficial da equipa do Entity Framework<br />http://bit.ly/EntityFrameworkTeam<br />Vídeossobre Entity Framework no Channel 9<br />http://bit.ly/EntityFrameworkChannel9<br />Fórum Entity Framework no MSDN Brasil<br />http://bit.ly/ForumEntityFrameworkMSDNBR<br />Novidades Entity Framework 4.0<br />http://bit.ly/NovidadesEntityFramework40<br />