Задание наименований для базы данных
Существует 2 пути для определения наименования:
- во Flexberry Desinger
- в C# коде с помощью атрибутов.
Если выбран первый путь, то Flexberry Desinger сгенерирует соответствующие имена автоматически.
Можно соотнести объекты данных и атрибуты с любым наименованием БД-структуры:
- Имя таблицы для класса (атрибут ClassStorage для класса);
- Имя столбца для атрибута (атрибут PropertyStorage для свойства);
- Имя столбца первичного ключа (Primary key) для идентификатора объекта данных (атрибут PrimaryKeyStorage для класса);
- Имя столбца внешнего ключа (Foreign key) для зависимостей мастера (атрибут PropertyStorage для свойства);
Например, диаграмма DB structures custom naming
:
CustomDBOwnClass
относится к таблицеCustomDBOwn
;CustomDBOwnClass.CustomOwnAttribute
относится к столбцуCustomOwn
в таблицеCustomDBOwn
;CustomDBMasterClass
относится к таблицеCustomDBMaster
;CustomDBMasterClass.CustomMasterAttribute
относится к столбцу CustomMaster в таблицеCustomDBOwnCustomDBMaster
;- Отношение
CustomDBOwnClass
кCustomDBMasterClass
определяется в столбцеCustomDBMaster
в таблицеCustomDBOwnClass
; - Идентификаторы обоих классов относятся к столбцу
pkey
в соответствующих таблицахtables
Достаточно создать объекты и сохранить их.
CustomDBOwnClass cdbo = new CustomDBOwnClass();
CustomDBMasterClass cdbm = new CustomDBMasterClass();
cdbm.CustomMasterAttribute = new RandomStringGenerator().Generate(200);
cdbo.CustomDBMasterClass = cdbm;
cdbo.CustomOwnAttribute = new RandomStringGenerator().Generate(200);
IDataService dataService = DataServiceProvider.DataService;
ICSSoft.STORMNET.DataObject[] objstoupd = new ICSSoft.STORMNET.DataObject[] { cdbo, cdbm };
dataService.UpdateObjects(ref objstoupd);
Console.WriteLine("OK!");
Полный список примеров кода Flexberry ORM находится в статье “Примеры кода”.