Мне нужно решить следующую проблему:
- В настоящее время у нас есть дерево метаданных схемы базы данных, которое имеет представление в памяти и также сериализацию XML собственной схемы (то есть мы можем читать / записывать все данные в памяти в файл XML).
В настоящее время я разрабатываю решение Visual DSL (похожее на диаграмму), чтобы упростить операции со схемой базы данных, и нуждаюсь в руководстве в следующем:
Я хочу заполнить модель DSL из дерева метаданных, которое содержит информацию о схеме базы данных, и я не уверен, что это лучший способ (я новичок в DSL, поэтому я не уверен, вижу ли я все возможные способы Делать это). До сих пор я знаю следующее:
При создании элемента DSL в Visual Studio я извлекаю схему, создающую дерево метаданных, а затем сериализую ее в XML-схему DSL внутри файла DSL, созданного для нового элемента. Таким образом, когда DSL открыт, он будет десериализован правильно. Однако это требует большого количества кода для перевода наших собственных данных в данные, требуемые DSL.
Я хотел бы, если это возможно, создать экземпляр дерева метаданных, пройти по нему, одновременно изменяя модель dsl через код / API.
Так что любое руководство в этом направлении (то, как вы это делаете) будет ценно для меня.