Building a framework in C# Want to be able to save objects into database
<p>This is more a question of design / best practice than anything else. Technical solutions are appreciated but I'm thinking more of methodology.</p>

<p>I'm building a .net framework. This framework is meant to be used for a variety of applications that may store data in different ways (SQL, MySql, Oracle, File System, Etc)</p>

<p>The purpose of the framework is to handle specific business logic and interactions.</p>

<p>I'd like the framework to be able to save it's various objects however the user wants for later retrieval, but I don't want to bind users to ONLY using the storage solution I use (Enterprise SQL Server)</p>

<p>Should I just let the person using the framework figure out how to store the data? or should I try and build in some sort of SaveTo / LoadFrom methods that would save to a database based on parameters passed in?</p>

<p>Should I build a save method that must be overriden?</p>

<p>Should I build an additional namespace / framework for each data storage solution?</p>

<p>What would you consider to be best practice?</p>
