Множество способов решения этой проблемы, ваша проблема решается целым классом решений, известных как Object Relational Mapping или ORM. Абсолютным королем их в мире Java и .Net является NHibernate . Это требует перестройки при каждом изменении БД, хотя для решения этой проблемы я использую генерацию кода, собираю файлы классов и сопоставлений непосредственно из БД. Затем вы попадаете в TDD и CI, чтобы убедиться, что вы ничего не сломали, а затем .....
Однако, если вы хотите что-то быстрое и грязное, вы можете создать словарь в ваших классах и хранить там дополнительные столбцы. Полностью гибкий, но дополнительные столбцы ваших классов не определены внутри самого класса.