title: C# Database abstraction for Microsoft SQL Server, Oracle, MySQL and DB2
body: <p>I need an example C# source code that abstracts databases (easy to change from one database to another with minimal code modification).  Do you know some sample sites or tutorials with good quality?</p>
  
  <p>Specific target databases are as follows:<br/>
  1. Microsoft SQL Server<br/>
  2. Oracle<br/>
  3. MySQL<br/>
  3. DB2<br/></p>
  
  <p>My specific requirements and encountered issues are the following:<br/>
  1. Abstraction of classes used in data access.<br/>
  2. Using parameters in calling stored procedures.  In Microsoft SQL Server @ is fine.  Other databases does not support @.<br/>
  3. Converting query syntax from one database to another.  Do we have some sort of "generic" query and then make some classes that generates queries it to a target database?<br/>
  4. Strictly typed datasets in the data access layer.  I remember from experience that the TableAdapter and Query wizard of Visual Studio failed for MySQL.<br/></p>
  
  <p>Thank you in advance for your expertise and time.</p>