A versão Release Candidate do Entity Framework 6 foi lançada essa semana, mais especificamente dia 21 de Agosto. Até então, o Entity Framework 6 estava na versão beta, desde o dia 28 de Maio de 2013.
Para fazer o download da versão do Entity Framework 6 RC digite o seguinte código no seu Package Manager Console:
Para futuras consultas, o site do Entity Framework no NuGet é esse: http://www.nuget.org/packages/EntityFramework
Se você possui aplicações rodando com o Entity Framework 5 e deseja migrar para a versão 6, então siga o passo-a-passo deste link: http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6
Muitos recursos estão inclusos na nova versão do Entity Framework, fiz uma lista dos recursos que acredito serem os mais interessantes e úteis, segue a lista abaixo:
– Async Query e Save: recursos para execução de consultas e comandos de forma assíncrona.
– Connection Resiliency: suporte para recuperação de operações em caso de falhas e instabilidades em conexões.
– DbContext pode ser criado com uma DbConnection que já esteja aberta.
– O nível de isolamento de transações foi alterado para READ_COMMITTED_SNAPSHOT para assegurar mais estabilidade e menos deadlocks para bancos de dados criados com Code First.
– DbContext.Database.UseTransaction e DbContext.Database.BeginTransaction, novos recursos para o controle de transações.
– Melhoria na performance de queries LINQ com Enumerable.Contains.
– DbSet.AddRange/RemoveRange, comandos para inclusão e remoção de múltiplas entidades de um conjunto.
– DbChangeTracker.HasChanges, verifica se existem alterações a serem persistidas na fonte de dados.
– Custom Migrations Operations.
– Multiple Contexts per Database.
– DbModelBuilder.HasDefaultSchema permite a configuração de um database schema para os objetos do banco de dados.
– Mapeamento de comandos de inclusão, exclusão e alteração de entidades para stored procedures.
A lista com todos os novos recursos pode ser encontrada neste link: http://blogs.msdn.com/b/adonet/archive/2013/08/21/ef6-release-candidate-available.aspx
Nessa semana também foi publicado um novo vídeo sobre o Entity Framework. Nesse vídeo podemos assistir toda a trajetória do EF, o que existe de diferente na versão 5 e o que virá na versão 6. Vale a pena conferir!
Por
MSc. Fernando Henrique Inocêncio Borba Ferreira
Microsoft Most Valuable Professional – Visual C#
Referências:
http://entityframework.codeplex.com/wikipage?title=Code%20First%20Insert%2fUpdate%2fDelete%20Stored%20Procedure%20Mapping
http://www.nuget.org/packages/EntityFramework
http://msdn.microsoft.com/en-us/data/jj680699
http://entityframework.codeplex.com/wikipage?title=Connection%20Resiliency%20Spec
http://blogs.msdn.com/b/adonet/archive/2013/08/21/ef6-release-candidate-available.aspx
http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Entity-Framework-5-and-6
Fernando parabéns pelo post…
Sua ideia é mostrar as novas funcionalidade implementadas no EF6 no seu blog? Acho que duas coisas interessantes seria:
– DbContext pode ser criado com uma DbConnection que já esteja aberta.
– DbContext.Database.UseTransaction e DbContext.Database.BeginTransaction, novos recursos para o controle de transações.
[]s
Oi Marlon,
Tudo beleza?
Sim, esse é o objetivo. Ontem mesmo fiz um post sobre o uso de comandos com stored procedures no EF.
Obrigado por postar.
[]s!
Muito bom!
Estava com sérios problemas para utilizar a transaction scope junto com o entity no azure, já que ele não tem suporte a DTC eu precisaria fazer toda a operação em uma unica conexão do dbcontext, coisa que não era possível até o EF 5 (até era mas tinha que usar um object context mas não era o ideal).
Quer dizer então que se eu usar o DbContext.Database.BeginTransaction e DbContext.Database.UseTransaction ou até mesmo usar uma DbConnection unica para vários DbContext resolve o problema?
Obrigado pelo post!
Olá Felipe,
Sim, todos os problemas serão resolvidos com o EF 6.
Agora é bem mais fácil gerenciar todas as transações.
Obrigado por postar.
[]s!
[…] https://ferhenriquef.com/2013/08/25/entity-framework-6-rc/ […]