Класс EntityMapper
Glossary Item Box
Общие сведения
Класс Terrasoft.Configuration.EntityMapper — это утилитный класс конфигурации, который находится в пакете [FinAppLending] продукта Lending. EntittyMapper позволяет сопоставлять данные одной сущности (Entity) с другой по правилам, определенным в конфигурационном файле. Использование подхода сопоставления данных разных сущностей позволяет избежать появления однообразного кода.
Идея сопоставления данных разных сущностей реализована в следующих классах:
- EntityMapper — реализует логику сопоставления.
- EntityResult — определяет в каком виде вернется сопоставленная сущность.
- MapConfig — представляет набор правил для сопоставления.
- DetailMapConfig — используется для установки списка правил сопоставления деталей и связанных с ними сущностей.
- RelationEntityMapConfig — содержит правила для сопоставления связанных сущностей.
- EntityFilterMap — представляет из себя фильтр для запроса в базу данных.
Terrasoft.Configuration.EntityMapper
Полный перечень методов класса EntityMapper, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Методы
Табл. 1. — Основные методы класса EntityMapper
- virtual EntityResult GetMappedEntity((Guid recId, MapConfig config))
-
Возвращает сопоставленные данные для двух объектов Entity.
Параметры:
- recId — GUID записи в базе данных;
- config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления.
- virtual Dictionary<string, object> GetColumnsValues((Guid recordId, MapConfig config, Dictionary<string, object> result))
-
Получает из базы данных главную сущность и сопоставляет ее колонки и значения по правилам, указанным в объекте config.
Параметры:
- recordId — GUID записи в базе данных;
- config — экземпляр класса MapConfig, представляющий из себя набор правил сопоставления;
- result — словарь колонок и их значений уже сопоставленной сущности.
- virtual Dictionary<string, object> GetRelationEntityColumnsValues((List<RelationEntityMapConfig> relations, Dictionary<string, object> dictionaryToMerge, string columnName, Terrasoft.Nui.ServiceModel.DataContract.LookupColumnValue entitylookup))
-
Получает из базы данных связанные сущности и сопоставляет их с основными сущностями.
Параметры:
- relations — список правил для получения связанных записей;
- dictionaryToMerge — словарь с колонками и их значениями;
- columnName — название родительской колонки;
- entitylookup — объект, содержащий название и Id записи в базе.
Terrasoft.Configuration.EntityResult
Полный перечень свойств класса EntityResult, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Свойства
Табл. 2. — Основные свойства класса EntityResult
- Columns
- Dictionary<string, object>
-
Словарь с названиями колонок основной сущности и их значениями.
- Details
- Dictionary<string, List<Dictionary<string, object>>>
-
Словарь названий деталей со списком их колонок и значений.
Terrasoft.Configuration.MapConfig
Полный перечень свойств класса MapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Свойства
Табл. 3. — Основные свойства класса MapConfig
- SourceEntityName
- string
-
Название сущности в БД.
- Columns
- Dictionary<string, object>
-
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
- DetailsConfig
- List<DetailMapConfig>
-
Список конфигурационных объектов с правилами для деталей.
- CleanDetails
- List<string>
-
Список названий деталей для очистки их значений.
- RelationEntities
- List<RelationEntityMapConfig>
-
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Terrasoft.Configuration.DetailMapConfig
Полный перечень свойств класса DetailMapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Свойства
Табл. 4. — Основные свойства класса DetailMapConfig
- DetailName
- string
-
Название детали (для обеспечения уникальности экземпляра детали).
- SourceEntityName
- string
-
Название сущности в базе данных.
- Columns
- Dictionary<string, object>
-
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
- Filters
- List<EntityFilterMap>
-
Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.
- RelationEntities
- List<RelationEntityMapConfig>
-
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Terrasoft.Configuration.RelationEntityMapConfig
Полный перечень свойств класса RelationEntityMapConfig, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Свойства
Табл. 5. — Основные свойства класса RelationEntityMapConfig
- ParentColumnName
- string
-
Название родительской колонки, при нахождении которой будет срабатывать логика получения и сопоставления данных по сущности.
- SourceEntityName
- string
-
Название сущности в базе данных.
- Columns
- Dictionary<string, object>
-
Словарь с названиями колонок одной сущности и сопоставляемыми колонками другой сущности.
- Filters
- List<EntityFilterMap>
-
Список конфигурационных объектов с правилами фильтрации для более точных выборок из базы данных.
- RelationEntities
- List<RelationEntityMapConfig>
-
Список конфигурационных объектов с правилами сопоставления связанных записей с главной сущностью.
Terrasoft.Configuration.EntityFilterMap
Полный перечень свойств класса EntityFilterMap, его родительских классов, а также реализуемых им интерфейсов можно найти в документации ".NET библиотеки классов ядра платформы".
Свойства
Табл. 6. — Основные свойства класса EntityFilterMap
- ColumnName
- string
-
Название колонки, при нахождении которой будет срабатывать логика фильтрации.
- Value
- object
-
Значение, с которым необходимо сравнение.