Обычно используют Object to Relation Mapping (ORM) Frameworks. Мы используем NHibernate (для работы с MSSQL, SQLite и Mysql). Настраивается с помощью адаптеров и если не использовать прямые запросы к БД — то LINQ over NHibernate вполне себе работает с этими БД прозрачно для программиста. Для Interbase и ещо вагона разных БД тоже есть свои адаптеры.
В случае «разные части в разных таблицах» — необходима прослойка data access layer, например для каждого случая хранения. Этот слой будет возвращать набор нужных данных по указанному критерию, изолируя специфику доступа от программиста и делая доступ к БД более прозрачным.