Генерация класса данных в СУБД и .Net-язык
Классы данных - это классы со стереотипом implementation или без указания стереотипа.
Стереотип implementation может указываться, а может не указываться, суть одна: UML-класс, соответствующий некоторой предметной сущности.

Note: Классы данных, связанные иерархией наследования, ассоциациями и агрегациями друг с другом, образуют так называемую объектную структуру прикладной системы, т.е. структуру предметных сущностей и их отношения.
Что генерируется с класса данных
| Что генерируется | Генерация в 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. |
Для удобного редактирования представления используется специальная форма-редактор.