Entity Framework 7
Ricardo Peres
http://netponto.org6ª Reunião Presencial - 27/06/2015
Ricardo Peres
Senior Engineer @ CRITICAL Software
Blogger @ Development With A Dot
MVP @ ASP.NET/IIS
Interesses: ASP.NET, Entity Framework, NHibernate,
SharePoint
Agenda
• Novidades do Entity Framework 7
• Entity Framework vs NHibernate
• Conclusão
Novidades do Entity Framework 7
• .NET 4.5.1+
• Fontes de dados não relacionais e em memória
• Suporte a Windows Phone, Windows Store apps, Linux e
Mac
• Batching de Creates, Updates e Deletes (CUDs)
• Constraints unique
• Os providers têm mais controlo sobre as queries geradas
• Mais suporte a Inversion of Control (IoC)
• Conversões de tipos
• Valores de colunas default
Novidades do Entity Framework 7
• Diferentes packages NuGet por provider
• Código totalmente rescrito
• API de metadados mudou substancialmente
• Geração de SQL optimizada
• Possibilidade de misturar SQL com LINQ
• ObjectContext removido
• Entity-SQL removido
• Model-first removido
• Database initializers removidos
• Suporte a .NET 4 removido
• Miugrações automáticas removidas
Novidades do Entity Framework 7
• Não incluídos na versão 7.0:
–Azure Table Storage, Redis, SQLite
–Windows Phone, Windows Store
–Tipos complexos
–Lazy loading
–Hierarquias
Entity Framework vs NHibernate
• Pontos fortes do NHibernate:
– Múltiplos geradores de identificadores
– Suporte a várias bases de dados
– Melhor suporte a modelos legados
– Vários tipos de colecções, incluindo colecções de
valores e componentes
– Lazy loading de propriedades
– Possibilidade de mapear membros privados
– Vários APIs de query
– Cache de segundo nível
Entity Framework vs NHibernate
• Pontos fortes do Entity Framework:
– Suporte a NoSQL
– Mecanismos de intercepção
– Suporte a queries assíncronas
– API de migrações
– Facilidade de uso
– Suporte a múltiplas plataformas
– Separação em várias packages
– Integração com outros produtos Microsoft
– Documentação
Conclusão
• O Entity Framework melhorou
substancialmente desde a versão inicial
• Continuam a faltar muitas funcionalidades
• O suporte a NoSQL é uma mais valia para o
futuro
• Tendo a Microsoft por trás – bem como a
comunidade – é de esperar um rápido
progresso
Dúvidas?
Obrigado!
Ricardo Peres
rjperes@hotmail.com
http://weblogs.asp.net/ricardoperes
https://pt.linkedin.com/in/ricardoperes
http://twitter.com/rjperes75
Referências
Entity Framework 7: Data for Web, Phone, Store, and Desktop
– https://channel9.msdn.com/Events/Build/2015/2-693
Entity Framework @ GitHub
– https://github.com/aspnet/EntityFramework
What is EF7 all about?
– https://github.com/aspnet/EntityFramework/wiki/What-is-EF7-all-about
The State of Entity Framework and NHibernate
– https://weblogs.asp.net/ricardoperes/the-state-of-entity-framework-and-
nhibernate
http://bit.ly/netponto-aval-co-6
* Para quem não puder preencher durante a reunião,
iremos enviar um email com o link à tarde
Patrocinadores “GOLD”
@CriticalSftware
http://www.criticalsoftware.com
Patrocinadores “Silver”
Patrocinadores “Bronze”
Próximas reuniões presenciais
27/06/2015 – Junho - Coimbra
11/07/2015 – Julho - Porto
18/07/2015 – Julho – Lisboa
??/08/2015 – Agosto - ?
19/09/2015 – Setembro - Lisboa
26/09/2015 – Setembro – Porto
??/10/2015 – Outubro - Coimbra
??/??/2015 – ????? - ??
Reserva estes dias na agenda! :)

Entity Framework 7

  • 1.
    Entity Framework 7 RicardoPeres http://netponto.org6ª Reunião Presencial - 27/06/2015
  • 2.
    Ricardo Peres Senior Engineer@ CRITICAL Software Blogger @ Development With A Dot MVP @ ASP.NET/IIS Interesses: ASP.NET, Entity Framework, NHibernate, SharePoint
  • 3.
    Agenda • Novidades doEntity Framework 7 • Entity Framework vs NHibernate • Conclusão
  • 5.
    Novidades do EntityFramework 7 • .NET 4.5.1+ • Fontes de dados não relacionais e em memória • Suporte a Windows Phone, Windows Store apps, Linux e Mac • Batching de Creates, Updates e Deletes (CUDs) • Constraints unique • Os providers têm mais controlo sobre as queries geradas • Mais suporte a Inversion of Control (IoC) • Conversões de tipos • Valores de colunas default
  • 6.
    Novidades do EntityFramework 7 • Diferentes packages NuGet por provider • Código totalmente rescrito • API de metadados mudou substancialmente • Geração de SQL optimizada • Possibilidade de misturar SQL com LINQ • ObjectContext removido • Entity-SQL removido • Model-first removido • Database initializers removidos • Suporte a .NET 4 removido • Miugrações automáticas removidas
  • 7.
    Novidades do EntityFramework 7 • Não incluídos na versão 7.0: –Azure Table Storage, Redis, SQLite –Windows Phone, Windows Store –Tipos complexos –Lazy loading –Hierarquias
  • 9.
    Entity Framework vsNHibernate • Pontos fortes do NHibernate: – Múltiplos geradores de identificadores – Suporte a várias bases de dados – Melhor suporte a modelos legados – Vários tipos de colecções, incluindo colecções de valores e componentes – Lazy loading de propriedades – Possibilidade de mapear membros privados – Vários APIs de query – Cache de segundo nível
  • 10.
    Entity Framework vsNHibernate • Pontos fortes do Entity Framework: – Suporte a NoSQL – Mecanismos de intercepção – Suporte a queries assíncronas – API de migrações – Facilidade de uso – Suporte a múltiplas plataformas – Separação em várias packages – Integração com outros produtos Microsoft – Documentação
  • 12.
    Conclusão • O EntityFramework melhorou substancialmente desde a versão inicial • Continuam a faltar muitas funcionalidades • O suporte a NoSQL é uma mais valia para o futuro • Tendo a Microsoft por trás – bem como a comunidade – é de esperar um rápido progresso
  • 14.
  • 15.
  • 16.
    Referências Entity Framework 7:Data for Web, Phone, Store, and Desktop – https://channel9.msdn.com/Events/Build/2015/2-693 Entity Framework @ GitHub – https://github.com/aspnet/EntityFramework What is EF7 all about? – https://github.com/aspnet/EntityFramework/wiki/What-is-EF7-all-about The State of Entity Framework and NHibernate – https://weblogs.asp.net/ricardoperes/the-state-of-entity-framework-and- nhibernate
  • 17.
    http://bit.ly/netponto-aval-co-6 * Para quemnão puder preencher durante a reunião, iremos enviar um email com o link à tarde
  • 18.
  • 19.
  • 20.
  • 21.
    Próximas reuniões presenciais 27/06/2015– Junho - Coimbra 11/07/2015 – Julho - Porto 18/07/2015 – Julho – Lisboa ??/08/2015 – Agosto - ? 19/09/2015 – Setembro - Lisboa 26/09/2015 – Setembro – Porto ??/10/2015 – Outubro - Coimbra ??/??/2015 – ????? - ?? Reserva estes dias na agenda! :)

Notas do Editor

  • #10 Geradores de ids: identity, sequence, hilo, max, etc Bases de dados suportadas: SQL Server, SQL Server Azure, SQLite, Oracle, MySQL, PostgreSQL, DB2, Sybase, etc Colecções: bag, list, set, map, array, primitive array APIs: LINQ, HQL, Criteria, QueryOver, SQL
  • #11 NoSQL: in memory, Redis, Azure Table Storage Plataformas: .NET, Core CLR, Windows Phone, Windows Store, Linux, Mac Integração: EntityDataSource, Dynamic Data, WCF Data Services, WCF RIA Services, etc
  • #18 Para quem puder ir preenchendo, assim não chateio mais logo  É importante para recebermos nós feedback, e para darmos feedback aos nossos oradores http://goqr.me/
  • #20 Telerik Ndepend Pluralsight syncfusion