![]() |
Nas versões
anteriores do EF o código foi dividido entre bibliotecas centrais
(principalmente System.Data.Entity.dll) enviados como parte do NET
Framework. e em bibliotecas à parte(OOB)(principalmente
EntityFramework.dll) enviados em um pacote NuGet. O EF6 moveu o código das bibliotecas centrais incorporando-o nas bibliotecas OOB. Isso foi necessário, pois agora o EF é open source. A conseqüência disso é que as aplicações terão de ser reconstruídas contra os tipos movidos. |
Para quem já usava a API DbContext(EF 4.1 em diante) esse trabalho é simples. Para quem ainda usa o ObjectContext o trabalho é maior mais não é difícil fazer.
Para você se situar, na tabela a seguir temos uma apresentação de cada versão do EF e seus principais recursos:
Versão | Principais Recursos |
---|---|
EF 3.5 | Suporte a O/RM básico com a abordagem Database First. |
EF 4.0 | Suporte a POCO, Lazy loading, melhoria na testabilidade, geração de código customizada e a abordagem Model First. |
EF 4.1 | Disponibilizado também via pacote NuGet, API DBContext Simplificada ao invés de ObjectContext, abordagem Code First. (Correção de bugs com a versão EF 4.1.1) |
EF 4.3 | Recurso Code First Migrations que permite que um banco de dados criado via Code First ser gradativamente alterado conforme o modelo Code First evoluir. Liberação da versão EF 4.3.1 para correção de bugs do EF 4.3. |
EF 5.0 | Anunciado EF como Open Source. Apoio a Enum Introduzido, funções com valor de tabela, tipos de dados espaciais, vários diagramas por modelo, coloração de formas na superfície de projeto e importação de lote de procedimentos armazenados, EF Power Tools e várias melhorias de desempenho. |
EF 6.0/6.1 | Inclui muitos novos recursos relacionadas ao Code-First e ao descritor EF como consulta e persistência assíncrona, resilência da resolução de dependências, etc |
Mas não se assuste, o Entity Framework 6.0 é uma evolução, e tudo o que você já aprendeu e já conhece sobre o Entity Framework não esta perdido pois ele permanece o mesmo não havendo uma mudança radical no seu funcionamento mas apenas em alguns recursos.
Veja o site oficial do Entity Framework no Nuget : http://www.nuget.org/packages/EntityFramework
A seguir temos um checklist de coisas que você precisa fazer para atualizar sua aplicação atual para o Entity Framework 6.0 (Baseado integralmente no link: http://msdn.microsoft.com/pt-BR/data/upgradeEF6 )
Migração para o Entity Framework 6/6.1 - Lista de Verificação
![]() |
Você precisa realizar a atualização para o novo runtime do Entity Framework 6:
Nota: Se uma versão anterior de um pacote Nuget EntityFramework estiver instalada ela será atualizada para o EF6.
Outra forma de obter o mesmo resultado e abrir o Package Manager Console via menu TOOLS -> Library Package Manager e digitar : Install-Package EntityFramework
![]() |
Obs: Verifique se a execução completou com sucesso.
![]() |
A instalação do pacote Nuget do Entity Framework 6 irá remover automaticamente qualquer referência a System.Data.Entity do seu projeto.
![]() |
Se você tiver qualquer modelo criados com o Designer do EF, você terá que atualizar os modelos de geração de código para gerar o código compatível com o EF6.
Nota: Atualmente só existem modelos EF 6.x DbContext Generator disponíveis para o Visual Studio 2012 e 2013.
1- Exclua os modelos
de geração de código existentes. Esses arquivos normalmente será chamados <edmx_file_name>.tt
e <edmx_file_name>.Context.tt e estão aninhados sob seu arquivo EDMX
no Solution Explorer. Você pode selecionar os modelos no
Solution Explorer e pressionar a tecla Del para apagá-los .
Nota: Em projetos Web Site os modelos não estarão
aninhados sob o arquivo EDMX, mas listados ao lado dele na janela Solution
Explorer.
Nota: Em projetos VB.NET você precisa habilitar o item
"Mostrar todos os arquivos" para ser capaz de ver
os arquivos de modelo aninhados.
2- Adicione o modelo de geração de código EF 6.x adequado. Abra o seu modelo no Designer EF, clique com o botão direito na área de design e selecione Add Code Generation Item...
Se você estiver usando a API DbContext (recomendado), então o EF 6.x DbContext Generator estará disponível na guia Data.
Nota: Se você estiver usando o Visual Studio 2012 , você precisará instalar o EF 6 Tools para ter este modelo. Consulte Get Entity FrameworkSe você estiver usando a API ObjectContext então você vai precisar selecionar a guia Online e procurar por EF 6.x EntityObject Generator.
3- Se você aplicou qualquer personalização para os modelos de geração de código você precisa reaplicá-los para atualizar os modelos
![]() |
Os namespaces para
tipos DbContext e Code First não mudaram. Isso significa que para muitas
aplicações que usam o EF 4.1 ou posterior nada vai precisar ser mudado.
Tipos como ObjectContext que estavam anteriormente em
System.Data.Entity.dll foram transferidos para novos namespaces. Isto
significa que você pode precisar atualizar suas diretivas using ou
imports para para construir contra o EF6.
A regra geral para as mudanças de namespaces é que qualquer tipo de
System.Data.* seja movido para System.Data.Entity.Core.*, ou seja,
basta inserir Entity.Core. depois System.Data. Por exemplo:
Estes tipos estão em espaços de nomes fundamentais, porque eles não são usados diretamente para a maioria das aplicações baseadas em DbContext. Alguns tipos que faziam parte da System.Data.Entity.dll ainda são usados diretamente para aplicativos baseados em DbContext e por isso não foram movidos para os namespaces Core. Eles são os seguintes :
Nota: Alguns tipos no namespace System.Data estão em System.Data.dll a qual não é um assembly Entity Framework. Esses tipos não foram movidos e assim seus namespaces permanecem inalterados.
Pronto ! seguindo os itens da lista sua aplicação estará migrada para o Entity Framework 6.0.
João 2:23 Ora, estando ele em Jerusalém pela festa da páscoa, muitos, vendo os sinais que fazia, creram no seu nome.
João 2:24 Mas o próprio Jesus não confiava a eles, porque os conhecia a todos,
João 2:25 e não necessitava de que alguém lhe desse testemunho do homem, pois bem sabia o que havia no homem.
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
|
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências: