Database independent coding framework options
<p>I have four different projects that I am starting. Obviously I won't be working on all at the same time however they each will have similar needs and be inter related. They are as follows:</p>

<ul>
<li><p>Desktop Environment/System User Interface; basically it is a product that runs on major computers via mono or .net that unifies the look and functions. In the context of the up coming question it would be able to directly access data of various types. It would work in tandum with my office suite, system manager, and network application framework.</p></li>
<li><p>Office Suite; technically it would not be a suite since I will be doing it from an interface except for the Communications Application. As far as the question, it will need to be able to link to various data sources for storing files and using, manipulating, and presenting information.</p></li>
<li><p>System Manager; it is an intelligent system to manage and administer the entire network and all equipment. As far as the question, needs to be able to access data for archiving and and for accessing it is own settings stored in various formats, e.g. SQL or XML.</p></li>
<li><p>Network Application Framework; it complete system that can be used for ERP, CRM, CMS, Errata, File Management, and so on. As to the question to be able to access its own or interlink with existing applications.</p></li>
</ul>

<p>The requirement is C#. It simplifies and reduces coding; it uses the same code to access different databases (e.g. MySQL, MS SQL, ACCESS, XML). Mono would be nice, but it is not a must.</p>

<p>What librarys, frameworks, or other options would be able to help with this? Is there a good resource to guide me? I don't want arguing over what is best; I just need information to help me further understand and make an educated decision.</p>
