При создании диаграммы классов у атрибутов задаются типы. Для того, чтобы определить для генератора соответствие между типами, используемыми на диаграмме классов, и типами баз данных и программного кода, используется карта типов.
Ctrl+С
или Ctrl+Insert
. Для вставки - определить левую верхнюю ячейку, откуда будет вставляться диапазон, после чего нажать Ctrl+V
или Shift+Insert
.Примеры настройки карты типов доступны в следующих статьях:
Разрешение типа при генерации
Расширение карты типов возможно за счёт использования синонимов типов (классы со стереотипом typedef).
На карте типов можно написать, в какой тип целевого языка отображается синоним типа на диаграмме.
Тип | Отображается в |
---|---|
Строка40 | string |
string | System.String |
Преобразование типов при генерации кода происходит следующим образом: если какой-либо тип не является стандартным (для .Net framework
), он преобразуется в соответствии с подстановкой.
После подстановки всё повторяется вновь: снова преобразуется, если не является стандартным.
Так повторяется, пока не произойдет приведения к стандартному типу, с которым генерируется код.
Если нестандартный тип невозможно преобразовать (в подстановке указан нестандартный тип, для которого отсутствует другая подстановка), генерация кода останавливается с ошибкой.
В данном примере, видно, что Строка40 отображается в string (предопределённый тип), который в свою очередь преобразуется в тип System.String Microsoft .Net framework
.
Карта типов для базы данных
Получить доступ к карте типов для базы данных можно через контекстное меню стадии в настройках генератора.
Столбец слева отображает типы, которые можно использовать на диаграмме классов, справа - соответствующие типы базы данных:
Если добавить определения типов через typedef, то карта типов может принять следующий вид:
Карта типов для программного кода
Получить доступ к карте типов для программного кода можно через контекстное меню стадии в настройках генератора.
Карта типов содержит следующие столбцы:
- Типы, которые можно использовать на диаграмме классов.
- Соответствующие типы программного кода.
- Сборка, в которой расположен программный тип (используется для типов, которые не являются .Net-типами).
Если добавить определения типов через typedef, то карта типов может принять следующий вид: