Генерация класса данных в СУБД и .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. |
Для удобного редактирования представления используется специальная форма-редактор.