Я правда пока не понял в чем суть вопроса. Но насколько понял - я храню сериализованные объекты в РД. Основной подход в том что все "сложные" данные не подлежащие сериализации (например Point3d) надо хранить в более простом виде (например аналогичном своем классе). Но методы и свойства сериализованного класса вполне могут возвращать данные любых типов - главное что-бы они хранились в "простом" виде, а метод их получения возвращал их в нужной форме. Хорошим плюсом является и то, что если структура "исходных данных" класса не меняются, можно добавлять любое количество свойств и методов обрабатывающих эти данные - это не повлияет на совместимость с уже созданными примитивами, посему лучше заранее получше продумать "формат" данных класса в сторону расширения.