Io ho fatto il mio 'sotto-framework' per l'accesso ai dati dividendo il tutto in due NameSpaces:
SqlTools e OleDbTools. Ognuno contiene le stesse classi che estraggono DataTable, DataSet, DataReader, con il giusto provider. Ho fatto anche dei metodi per automatizzare il passaggio di parametri alle Stored Procedure...

Comunque c'e' uno strato di software già fatto da Microsoft di cui non ricordo il nome