Since this question was posted, the Oracle Managed Client is now available (provided by Oracle). I have been using it with no problems. Does not require hunting for DLL's or special configuration. Just add the package, modify configuration file, and you're set. NuGet Link and an article by Oracle about it..
Since this client is written entirely in .NET Managed code, it's architecture independent and there is no need for external DLL's, installing an Oracle Client, or anything like that.
You can install it in VS using Package Manager.
Install-Package Oracle.ManagedDataAccess
I've taken to putting this in the machine.config file (though it'll also work in web.config or app.config). I've found that this helps avoid conflicts with other drivers that may be installed:
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.DataAccess.Client" />
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver"
invariant="Oracle.ManagedDataAccess.Client"
description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>
</system.data>
<configuration>
Then for your connection string:
<add name="MyConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IPORNAMEOFHOST)(PORT=PORTNUM)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORACLESID)));User Id=ORACLEUSER;Password=ORACLEPASSWORD;" providerName="Oracle.ManagedDataAccess.Client"/>
- IPORNAMEOFHOST= This is the IP address or DNS name of your server.
- PORTNUM= This is the port number that Oracle is listening at. Typically 1521.
- ORACLESID= The SID of the database you're trying to connect to.
- ORACLEUSER= The username to use for the connection.
- ORACLEPASSWORD= The password to use for the connection.