Arquivo

Posts Tagged ‘Entity Framework Oracle Provider’

Instalando Entity Framework provider para Oracle no Visual Studio 2010

julho 15, 2010 2 comentários

Antes de começar a instalação faça o download dos seguintes componentes:

Instalando o provider:

  1. Instale o ODAC

  2. Descompacte o arquivo EFOracleOdpProvider-0.10-source.zip

  3. Inicie uma instância do Visual Studio 2010 como administrador e abra o projeto do provider, o vs2010 abrirá o assistente de conversão de projetos. Converta o projeto para o formato do VS2010.

  4. Após o projeto ser convertido, abra a janela de propriedades do projeto (clique com o botão direito do mouse sobre o projeto no Solution Explorer e selecione Properties). Na aba “Build Events”, clique no botão “Edit Post-build…” e substitua o comando de instalação do assembly no GAC do .NET Framework 2.0 para o comando de instalação do assembly no GAC do .NET Framework 4.0.

    "%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /if "$(TargetPath)"
  5. Feche a janela de propriedades do projeto e compile o projeto. O assembly gerado será instado automaticamente por causa do que fizemos no item 3.

  6. Agora abra o arquivo

    %WINDIR%\Microsoft.NET\Framework\v4.0.30319\config\machine.config
  7. Localize a sessão <DbProviderFactories> e adicione uma entrada para EFOracleOdpProvider

    <add name="EF Oracle Odp Provider" invariant="EFOracleOdpProvider"
      description="EF Provider for Oracle"
      type="EFOracleOdpProvider.EFOracleOdpProviderFactory, EFOracleOdpProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6ad3e818a7c6d2a"/>

Feito isto o provider já está disponível para ser utilizado com o Entity Framework. Contudo, alguns passos adicionais são necessários para efetivamente utilizar o provider no seu código. Mostrarei como fazer isto no próximo post.

Escolhendo um provider para acessar o Oracle com Entity Framework

Uma das tarefas que minha equipe terá que realizar este ano será a migração da nossa base de dados de SQL Server para Oracle. No ano passado, uma parte significativa da aplicação foi reescrita utilizando o Entity Framework, sendo assim, decidimos começar a tarefa de migração com uma prova de conceito (PoC), utilizando o Entity Framework para acessar o Oracle.

A grande maioria dos providers disponíveis para Oracle são pagos. Mesmo assim existem algumas implementações de exemplo no site CodePlex. Basicamente, estes providers utilizam duas abordagens diferentes para acessar o banco Oracle:

  • System.Data.OracleClient – utiliza as classes do ADO.NET, disponibilizadas com o .NET Framework
  • Oracle.DataAccess – utiliza as classes do ODP.NET, parte do Oracle Data Access Componets (ODAC)

Optamos pela segunda abordagem, pois o time do ADO.NET anunciou que o desenvolvimento das classes no namespace System.Data.OracleClient será descontinuado. O provider que escolhemos foi Entity Framework Oracle ODP.net Provider.

No próximo post, mostrarei como instalar este provider utilizando o Visual Studio 2010 e o .NET Framework 4.0.