Requirements for the library
Before we embark on writing the library, let us scribble down a preliminary requirement statement as follows:
Note
When we write business applications, our application should be able to persist to relational database engines from different database vendors.
Note
We should be able to support SQL Server, SQLite, Oracle, or any database engine which supports ADO.net. Adding a new DB engine should be a breeze. Likewise, changing the database technology should be seamless for the application developer.