Генерация класса данных в СУБД и .Net-язык

Классы данных - это классы со стереотипом implementation или без указания стереотипа.

Стереотип implementation может указываться, а может не указываться, суть одна: UML-класс, соответствующий некоторой предметной сущности.

Что генерируется с класса данных

Что генерируется Генерация в SQL DDL Генерация в .Net-язык
UML-класс Определение таблицы: CREATE TABLE. Если в БД есть представление,соответствующее имени хранения данного класса, генерируется комментарий с информацией о наличии представления и определением таблицы. .Net-класс, наследующийся от .Net-класса, соответствующего предку по модели. Если в модели у класса нет предка, он наследуется от класса [ICSSoft.STORMNET.DataObject](fo_data-object.html) (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll))
Атрибут UML-класса Поле в таблице класса (подробности в статье Атрибуты классов данных) Виртуальное свойство с тем же именем и соответствующим модификатором (# - protected, + - public, - - private) и приватный член класса для этого свойства. Тип свойства и приватного члена - тип атрибута. (подробности в статье Атрибуты классов данных)
Метод UML-класса   Виртуальный метод с соответствующими параметрами и модификатором. Тело метода пустое со скобкой программиста для внесения кода метода. (подробности в статье Методы классов и параметры методов)

Дополнительно редактируемые свойства класса данных

Окно редактирования свойств класса данных выглядит следующим образом:

1.Закладка редактирования свойств UML-класса:

Для того чтобы отредактировать дополнительные свойства какого-либо элемента диаграммы, следует щелкнуть правой клавишей мыши по редактируемому элементу:

Затем выбрать пункт Редактировать свойства.

Что генерируется Генерация в SQL DDL Генерация в .Net-язык
Name - имя UML-класса   Имя .Net-класса
Stored - указывает, хранимый ли класс, т.е. сохраняются ли экземпляры класса в источнике данных Если класс не хранимый, - генерация скрипта для этого класса не происходит  
Description - некоторое описание класса   DocComment перед определением класса
Caption - некоторое пользовательское имя, заголовок (отображается в пользовательском интерфейсе вместо имени класса)   Указывается атрибут CaptionAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll)) непосредственно перед объявлением класса. По умолчанию, пользовательское имя совпадает с именем класса. Замечание: Если требуется, чтобы у различных экземпляров класса данных был различный заголовок, используется атрибут InstanceCaptionProperty, указывающий имя свойства, возвращающего заголовок. Данный атрибут можно указать только программным путём, в Flexberry Designer он не вынесен.
PrimaryKeyStorage - имя хранения для поля - первичного ключа Генерируется как имя поля первичного ключа в таблице. Если не указано, имя поля первичного ключа - primaryKey. Если указано, генерируется атрибут PrimaryKeyStorageAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll)), куда указывается имя хранения. У общего предка классов данных - ICSSoft.STORMNET.DataObject, этот атрибут указан как PrimaryKeyStorage("primaryKey").
Storage - имя хранения для экземпляров этого класса данных Генерируется как имя таблицы. Если не указано, имя таблицы совпадает с именем класса. Если указан, генерируется атрибут ClassStorageAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll)), в который пишется имя хранения.
AutoAltered - автоматическое вычисление статуса с проверкой изменённых свойств   Если указан, генерируется атрибут AutoAlteredAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll)).
LoadingOrderXML - позволяет указать порядок загрузки свойств экземпляров этого класса сервисами данных   Если указан, генерируется атрибут LoadingOrderAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll)).
Trim - применяется ли удаление пробелов (функция Trim()) для строковых данных при работе сервиса данных ( см. дополнительную информацию)    
Packet, NamespacePostfix - позволяют настроить сборку и пространство имен   см. Расположение сборок после генерации кода.
PBCustomAttributes - позволяет указать, необходима ли скобка программиста непосредственно перед описанием класса для “ручного” внесения атрибутов   Если галочка указана - генерируется скобка программиста для “ручного” внесения .Net атрибутов перед классом.
PBMembers - позволяет указать, необходима ли скобка программиста внутри класса для “ручного” внесения членов класса   Если галочка указана - генерируется скобка программиста для “ручного” внесения членов класса.
BSClass - бизнес-сервер, обрабатывающий этот класс данных   Если указан, генерируется атрибут BusinessServerAttribute (Namespace: ICSSoft.STORMNET.Business, Assembly: ICSSoft.STORMNET.Business (in ICSSoft.STORMNET.Business.dll))
PublishToEBSD   Если галочка указана - перед классом генерируется указание атрибута PublishToEBSDAttribute, который указывает доступность данного класса для использования в редакторе диаграмм сценариев.

2.Закладка редактирования представлений класса

Что генерируется Генерация в .Net-язык
Name - имя представления Имя представления в атрибуте ViewAttribute (Namespace: ICSSoft.STORMNET, Assembly: ICSSoft.STORMNET.DataObject (in ICSSoft.STORMNET.DataObject.dll))
Description - некоторое описание для пояснительных целей Комментарий к статическому свойству для доступу к представлению.
Properties - определение представления Список атрибутов класса в .Net-атрибуте ViewAttribute, указание ассоциированных представлений детейлов атрибутами AssociatedDetailViewAttribute, указание дополнительных настроек мастеров в представлении атрибутами MasterViewDefineAttribute.

Для удобного редактирования представления используется специальная форма-редактор.