Scenario: Creating an app for learning purposes and am trying to make it database independent.
I have looked at the beerhouse architecture quite a bit where each database has its own dal an a mixture of SqlCommands and DataReaders etc. I no theres not a definite right or wrong, but generally in terms of maintenance, speed etc baring in mind the architecture side of .net apps is quite new to me, would you lean towards rolling your own specifc dal classes like the beerhouse or use something like the dbProviderFactory where quite a lot of the functionality is already there?
Are there any pros/cons with using the generic classes in System.Data.Common such as DbCommand, DbDataReader, opposed to the specific SqlCommand, SqlDataReader classes etc.
Thanks in advance.