«Очевидное» решение состоит в том, чтобы каким-то образом разложить объекты в массивы.Это не так сложно сделать, хотя некоторые угловые случаи могут стать уродливыми.
Самая привлекательная (я еще не пробовал, но собираюсь) консервированная реализация, с которой я столкнулся, - this (некоторые документы здесь ).
Он использует отражение, чтобы посмотреть на метаданные сущностей, а затем делает некоторые хорошие предположения о том, какую структуру возвращать.В целом это кажется лучшей стратегией.Я подозреваю, что для обработки необычно структурированных сущностей, вы можете настроить класс Бориса для проверки собственного метода сериализации на сущности и, если он присутствует, позволить сущности сериализовать себя.