Это будет очень сложно сделать по той причине, что вы в основном пытаетесь сопоставить двух неизвестных вместе. В вашем универсальном объекте тип неизвестен, а в вашем хранилище данных таблица неизвестна.
Итак, я бы предложил создать какой-то атрибут столбца для привязки к свойствам вашей сущности. Затем просмотрите эти атрибуты свойств и попробуйте найти данные из этих атрибутов в устройстве чтения данных.
Ваша самая большая проблема будет в том, что произойдет, если одно из свойств не будет найдено в считывателе, или наоборот, один из столбцов в считывателе не найден в объекте.
Удачи, но если вы хотите сделать что-то подобное, вам, вероятно, понадобится ORM или, по крайней мере, какая-то реализация Active Record.