2 Oracle Data Providers
Follow the link to an article that will compare the Microsoft and Oracle .Net provider for Oracle.
It is also the only place I can find a good list of the requirements for the Microsoft provider:
This article explores the differences between the Oracle Data Provider for .NET (ODP.NET) 9i and the Microsoft .NET Framework 1.1 Data Provider for Oracle. The two providers have much in common, but there are also important differences.
The Microsoft provider ships with the .NET Framework 1.1. All types are contained in the System.Data.OracleClient namespace. The Microsoft provider requires Oracle client version 8.1.7 or above.
ODP.NET is freely available from the Oracle Technology Network (OTN) at http://www.oracle.com/technology/software/tech/windows/odpnet/index.html. The types are contained in two namespaces—Oracle.DataAccess.Client (data access classes and enumerations) and Oracle.DataAccess.Types (classes and structures for Oracle data types). Both namespaces are in the assembly Oracle.DataAccess.dll located in the oracle\ora92\bin directory. ODP.NET requires Oracle client version 9.2 or later.
This article is divided into two sections. The first section discusses key differences between the functionality of the providers. An appendix follows that examines and compares each data provider type detailing differences between the public constructors, fields, methods, properties, properties, and operators between types in the providers; aspects of the data provider types that are similar are not discussed.
For detailed information about the Microsoft .NET Framework Data Provider for Oracle, consult MSDN. For detailed information about the ODP.NET provider, consult the documentation installed with the provider.
Using DLLImport and the WinApi
This is a great Site, for retrieving the C# definitions from the majority of Win32 Api calls:
It is a wiki, so you can add your own experiences.