У меня есть приложение, которое импортирует информацию из файла CSV или из базы данных и экспортирует ее в XML. Этот XML в настоящее время сохраняется в файл. Однако из-за потребностей проекта я решил, что может быть лучше сохранить этот XML в базе данных.
В настоящее время у меня есть репозитории CSV, XML и SQL, которые занимаются импортом / экспортом данных. Репозиторий XML сохраняет переданный объект в файл. В настоящее время именно там хранится отображение объекта в XML, следовательно, это единственное место, которое знает об этой структуре (аналогично, другие хранилища для их соответствующих структур).
Теперь, когда я хочу сохранить XML в базе данных, я начинаю подвергать сомнению эту архитектуру. Чтобы выполнить вставку в базу данных, структура XML должна быть доступна из репозитория SQL (например, данные в других столбцах можно вставлять в БД вместе с XML). Это заставляет меня задуматься о том, должно ли представление XML храниться в самом объекте, на уровне службы или где-то еще.
Каковы наилучшие способы реализации решения этой проблемы?
ОБНОВЛЕНИЕ: уточнение моего вопроса. Репозиторий XML в настоящее время сохраняется в файл. Мне кажется, что это неправильный уровень для хранения знаний о структуре XML, так как тогда у меня нет гибкости в сохранении представления XML на любой среде, которую я желаю. Это плохой дизайн, чтобы позволить объекту знать его представление XML (или представление CSV и т. Д.)? Должно ли знание этой структуры быть сохранено на другом уровне, и на каком уровне это будет?