O documento resume as principais novidades da versão 7 do Entity Framework, como suporte a bancos de dados não relacionais, melhorias na geração de consultas SQL e separação em pacotes NuGet distintos. Também compara o Entity Framework com o NHibernate, destacando os pontos fortes de cada um.
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 do Entity Framework 7
• Entity Framework vs NHibernate
• Conclusão
4.
5. 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
6. 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
7. 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
8.
9. 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
10. 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
11.
12. 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
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
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
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
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
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/