Класс Entity
Glossary Item Box
Общие сведения
Класс Terrasoft.Core.Entities.Entity предназначен для доступа к объекту, который представляет собой запись в таблице базы данных.
Класс Terrasoft.Core.Entities.Entity
Полный перечень методов и свойств класса Entity, его родительских классов, а также реализуемых им интерфейсов, можно найти в документации ".NET библиотеки классов ядра платформы".
Конструкторы
- public Entity((UserConnection userConnection))
-
Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection.
- public Entity((UserConnection userConnection, Guid schemaUId))
-
Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection и схемы заданной идентификатором schemaUId.
- public Entity((Entity source))
-
Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.
Свойства
Табл. 1. — Основные свойства класса Entity
- ChangeType
- EntityChangeType
-
Тип изменения состояния объекта (добавлен, изменен, удален, без изменений).
- EntitySchemaManager
- EntitySchemaManager
-
Экземпляр менеджера схемы объекта.
- EntitySchemaManagerName
- string
-
Имя менеджера схемы объекта.
- HasColumnValues
- bool
-
Определяет, имеет ли объект хотя бы одну колонку.
- HierarchyColumnValue
- Guid
-
Значение колонки связи с родительской записью для иерархических объектов.
- InstanceUId
- Guid
-
Идентификатор экземпляра объекта.
- IsDeletedFromDB
- bool
-
Определяет, удален ли объект из базы данных.
- IsInColumnValueChanged
- bool
-
Определяет, выполняется ли обработка события ColumnValueChanged.
- IsInColumnValueChanging
- bool
-
Определяет, выполняется ли обработка события ColumnValueChanging.
- IsInDefColumnValuesSet
- bool
-
Определяет, выполняется ли обработка события DefColumnValuesSet.
- IsInDeleted
- bool
-
Определяет, выполняется ли обработка события Deleted.
- IsInDeleting
- bool
-
Определяет, выполняется ли обработка события Deleting.
- IsInInserted
- bool
-
Определяет, выполняется ли обработка события Inserted.
- IsInInserting
- bool
-
Определяет, выполняется ли обработка события Inserting.
- IsInLoaded
- bool
-
Определяет, выполняется ли обработка события Loaded.
- IsInLoading
- bool
-
Определяет, выполняется ли обработка события Loading.
- IsInSaved
- bool
-
Определяет, выполняется ли обработка события Saved.
- IsInSaveError
- bool
-
Определяет, выполняется ли обработка события SaveError.
- IsInSaving
- bool
-
Определяет, выполняется ли обработка события Saving.
- IsInUpdated
- bool
-
Определяет, выполняется ли обработка события Updated.
- IsInUpdating
- bool
-
Определяет, выполняется ли обработка события Updating.
- IsInValidating
- bool
-
Определяет, выполняется ли обработка события Validating.
- IsSchemaInitialized
- bool
-
Определяет, является ли схема объекта проинициализированной.
- LicOperationPrefix
- string
-
Префикс лицензируемой операции.
- LoadState
- EntityLoadState
-
Состояние загрузки объекта.
- PrimaryColumnValue
- Guid
-
Идентификатор первичной колонки.
- PrimaryDisplayColumnValue
- string
-
Значение для отображения первичной колонки.
- Process
- Process
-
Встроенный процесс объекта.
- Schema
- EntitySchema
-
Экземпляр схемы объекта.
- SchemaName
- string
-
Имя схемы объекта.
- StoringState
- StoringObjectState
-
Состояние объекта (изменен, добавлен, удален, без изменений).
- UseAdminRights
- bool
-
Определяет, будут ли учитываться права при вставке, обновлении, удалении и получении данных.
- UseDefRights
- bool
-
Определяет, использовать ли права по умолчанию на объект.
- UseLazyLoad
- bool
-
Определяет, использовать ли ленивую первоначальную загрузку данных объекта.
- UserConnection
- UserConnection
-
Пользовательское подключение.
- ValidationMessages
- EntityValidationMessageCollection
-
Коллекция сообщений, выводимых при проверке объекта.
- ValueListSchemaManager
- ValueListSchemaManager
-
Экземпляр менеджера перечислений объекта.
- ValueListSchemaManagerName
- string
-
Имя менеджера перечислений объекта.
Методы
Табл. 2. — Основные методы класса Entity
- void AddDefRights(())
void AddDefRights((Guid primaryColumnValue))
void AddDefRights((IEnumerable<Guid> primaryColumnValues)) -
Для данного объекта устанавливает права по умолчанию.
- virtual object Clone(())
-
Создает клон текущего экземпляра Entity.
- Insert CreateInsert((bool skipLookupColumnValues))
-
Создает запрос на добавление данных в базу.
- Update CreateUpdate((bool skipLookupColumnValues))
-
Создает запрос на обновление данных в базе.
- virtual bool Delete(())
virtual bool Delete((object keyValue)) -
Удаляет из базы данных запись объекта. Параметр keyValue определяет первичный ключ записи.
- bool DeleteWithCancelProcess(())
-
Удаляет из базы данных запись объекта и отменяет запущенный процесс.
- static Entity DeserializeFromJson((UserConnection userConnection, string jsonValue))
-
Создает объект типа Entity, используя пользовательское подключение userConnection, и заполняет значения его полей из указанной строки формата JSON jsonValue.
- bool ExistInDB((EntitySchemaColumn conditionColumn, object conditionValue))
bool ExistInDB((string conditionColumnName, object conditionValue))
bool ExistInDB((object keyValue))
bool ExistInDB((Dictionary<string,object> conditions)) -
Определяет, существует ли в базе данных запись, отвечающая заданному условию запроса conditionValue к заданной колонке схемы объекта conditionColumn либо с заданным первичным ключом keyValue.
- bool FetchFromDB((EntitySchemaColumn conditionColumn, object conditionValue, bool useDisplayValues))
bool FetchFromDB((string conditionColumnName, object conditionValue, bool useDisplayValues))
bool FetchFromDB((object keyValue, bool useDisplayValues))
bool FetchFromDB((Dictionary<string,object> conditions, bool useDisplayValues))
bool FetchFromDB((EntitySchemaColumn conditionColumn, object conditionValue, IEnumerable<EntitySchemaColumn> columnsToFetch, bool useDisplayValues))
bool FetchFromDB((string conditionColumnName, object conditionValue, IEnumerable<string>columnNamesToFetch, bool useDisplayValues)) -
По заданному условию загружает объект из базы данных.
Параметры:
- conditionColumn — колонка, для которой задается условие выборки;
- conditionColumnName — название колонки, для которой задается условие выборки;
- conditionValue — значение колонки условия для выбираемых данных;
- columnsToFetch — список колонок, которые будут выбраны;
- columnNamesToFetch — список названий колонок, которые будут выбраны;
- conditions — набор условий фильтрации выборки записей объекта;
- keyValue — значение ключевого поля;
- useDisplayValues — признак получения в запросе первичных отображаемых значений. Если параметр равен true, в запросе будут возвращены первичные отображаемые значения.
- bool FetchPrimaryColumnFromDB((object keyValue))
-
По заданному условию keyValue загружает из базы данных объект с первичной колонкой.
- bool FetchPrimaryInfoFromDB((EntitySchemaColumn conditionColumn, object conditionValue))
bool FetchPrimaryInfoFromDB((string conditionColumnName, object conditionValue)) -
По заданному условию загружает из базы данных объект с первичными колонками, включая колонку, первичную для отображения.
- byte[] GetBytesValue((string valueName))
-
Возвращает значение заданной колонки объекта в виде массива байт.
- IEnumerable<EntityColumnValue> GetChangedColumnValues(())
-
Возвращает коллекцию имен колонок объекта, которые были изменены.
- string GetColumnDisplayValue((EntitySchemaColumn column))
-
Возвращает значение для отображения свойства объекта, соответствующее заданной колонке схемы объекта.
- object GetColumnOldValue((string valueName))
object GetColumnOldValue((EntitySchemaColumn column)) -
Возвращает предыдущее значение заданного свойства объекта.
- virtual object GetColumnValue((string valueName))
virtual object GetColumnValue((EntitySchemaColumn column)) -
Возвращает значение колонки объекта с заданным именем, cоответствующее переданной колонке схемы объекта.
- IEnumerable<string> GetColumnValueNames(())
-
Возвращает коллекцию имен колонок объекта.
- virtual bool GetIsColumnValueLoaded((string valueName))
bool GetIsColumnValueLoaded((EntitySchemaColumn column)) -
Возвращает признак, определяющий, загружено ли заданное свойство объекта.
- virtual MemoryStream GetStreamValue((string valueName))
-
Возвращает преобразованное в экземпляр типа System.IO.MemoryStream значение переданной колонки схемы объекта.
- virtual TResult GetTypedColumnValue<TResult>((string valueName))
TResult GetTypedColumnValue<TResult>((EntitySchemaColumn column)) -
Возвращает типизированное значение свойства объекта, соответствующее заданной колонке схемы объекта.
- TResult GetTypedOldColumnValue<TResult>((string valueName))
TResult GetTypedOldColumnValue<TResult>((EntitySchemaColumn column)) -
Возвращает типизированное предыдущее значение свойства объекта, соответствующее заданной колонке схемы объекта.
- virtual bool InsertToDB((bool skipLookupColumnValues, bool validateRequired))
-
Добавляет запись текущего объекта в базу данных с учетом переданных параметров:
- skipLookupColumnValues — параметр, определяющий необходимость добавления в базу данных колонок типа справочник. Если параметр равен true, то колонки типа справочник не будут добавлены в базу. Значение по умолчанию — false.
- validateRequired — параметр, определяющий необходимость проверки заполнения обязательных значений. Значение по умолчанию — true.
- bool IsColumnValueLoaded((string valueName))
bool IsColumnValueLoaded((EntitySchemaColumn column)) -
Определяет, загружено ли значение свойства объекта с заданным именем.
- virtual bool Load((DataRow dataRow))
virtual bool Load((DataRow dataRow, Dictionary<string,string> columnMap))
virtual bool Load((IDataReader dataReader))
virtual bool Load((IDataReader dataReader, IDictionary<string,string> columnMap))
virtual bool Load((object dataSource))
virtual bool Load((object dataSource, IDictionary<string,string> columnMap)) -
Заполняет объект переданными данными.
Параметры:
- dataRow — экземпляр System.Data.DataRow, из которого загружаются данные в объект;
- dataReader — экземпляр System.Data.IDataReader, из которого загружаются данные;
- dataSource — экземпляр System.Object, из которого загружаются данные;
- columnMap — свойства объекта, заполняемые данными.
- void LoadColumnValue((string columnValueName, IDataReader dataReader, int fieldIndex, int binaryPackageSize))
void LoadColumnValue((string columnValueName, IDataReader dataReader, int fieldIndex))
void LoadColumnValue((string columnValueName, object value))
void LoadColumnValue((EntitySchemaColumn column, object value)) -
Для свойства с заданным именем загружает его значение из переданного экземпляра.
Параметры:
- columnValueName — имя свойства объекта;
- column — колонка схемы объекта;
- dataReader — экземпляр System.Data.IDataReader, из которого загружается значение свойства;
- fieldIndex — индекс загружаемого из System.Data.IDataReader поля;
- binaryPackageSize — размер загружаемого значения;
- value — загружаемое значение свойства.
- static Entity Read((UserConnection userConnection, DataReader dataReader))
-
Возвращает значение текущего свойства типа Entity из потока ввода.
- void ReadData((DataReader reader))
void ReadData((DataReader reader, EntitySchema schema)) -
Считывает данные из схемы объекта в заданный объект типа System.Data.IDataReader.
- void ResetColumnValues(())
-
Для всех свойств объекта отменяет изменения.
- void ResetOldColumnValues(())
-
Для всех свойств объекта отменяет изменения, устанавливая предыдущее значение.
- bool Save((bool validateRequired))
-
Сохраняет объект в базе данных. Параметр validateRequired определяет необходимость проверки заполнения обязательных значений. Значение по умолчанию — true.
- static string SerializeToJson((Entity entity))
-
Преобразует объект entity в строку формата JSON.
- virtual void SetBytesValue((string valueName, byte[] streamBytes))
-
Устанавливает для заданного свойства объекта переданное значение типа System.Byte.
- bool SetColumnBothValues((EntitySchemaColumn column, object value, string displayValue))
bool SetColumnBothValues((string columnValueName, object value, string displayColumnValueName, string displayValue)) -
Устанавливает свойству объекта, соответствующему заданной колонке схемы, переданные значение value и значение для отображения displayValue.
- bool SetColumnValue((string valueName, object value))
bool SetColumnValue((EntitySchemaColumn column, object value)) -
Устанавливает заданной колонке схемы переданное значение value.
- void SeddefColumnValue((string columnValueName, object defValue))
void SeddefColumnValue((string columnValueName)) -
Устанавливает значение по умолчанию свойству с заданным именем.
- void SeddefColumnValues(())
-
Для всех свойств объекта устанавливает значения по умолчанию.
- bool SetStreamValue((string valueName, Stream value))
-
Устанавливает для заданного свойства объекта переданное значение типа System.IO.Stream.
- virtual bool UpdateInDB((bool validateRequired))
-
Обновляет запись объекта в базе данных. Параметр validateRequired определяет необходимость проверки заполнения обязательных значений. Значение по умолчанию — true.
- bool Validate(())
-
Проверяет заполнение обязательных полей.
- static void Write((DataWriter dataWriter, Entity entity, string propertyName))
static void Write((DataWriter dataWriter, Entity entity, string propertyName, bool couldConvertForXml)) -
Осуществляет запись значения типа Entity в поток вывода с заданными именем.
Параметры:
- dataWriter — экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода;
- entity — значение для записи типа Entity;
- propertyName — имя объекта;
- couldConvertForXml — разрешить преобразование для xml-сериализации.
- void Write((DataWriter dataWriter, string propertyName))
-
Осуществляет запись значения типа Entity в поток вывода с заданными именем.
- void WriteData((DataWriter writer))
void WriteData((DataWriter writer, EntitySchema schema)) -
Осуществляет запись в поток вывода для указанной либо текущей схемы объекта.
События
Табл. 3. — События класса Entity
- event EventHandler<EntityColumnAfterEventArgs> ColumnValueChanged
- Обработчик события, возникающего после изменения значения колонки объекта.
-
Обработчик события получает аргумент типа EntityColumnAfterEventArgs.
Свойства EntityColumnAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnValueName;
- DisplayColumnValueName.
- event EventHandler<EntityColumnBeforeEventArgs> ColumnValueChanging
- Обработчик события, возникающего перед изменением значения колонки объекта.
-
Обработчик события получает аргумент типа EntityColumnBeforeEventArgs.
Свойства EntityColumnBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnStreamValue;
- ColumnValue;
- ColumnValueName;
- DisplayColumnValue;
- DisplayColumnValueName.
- event EventHandler<EventArgs> DefColumnValuesSet
- Обработчик события, возникающего после установки значений по умолчанию полей объекта.
-
- event EventHandler<EntityAfterEventArgs> Deleted
- Обработчик события, возникающего после удаления объекта.
-
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues;
- PrimaryColumnValue.
- event EventHandler<EntityBeforeEventArgs> Deleting
- Обработчик события, возникающего перед удалением объекта.
-
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition;
- IsCanceled;
- KeyValue.
- event EventHandler<EntityAfterEventArgs> Inserted
- Обработчик события, возникающего после вставки объекта.
-
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues;
- PrimaryColumnValue.
- event EventHandler<EntityBeforeEventArgs> Inserting
- Обработчик события, возникающего перед вставкой объекта.
-
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition;
- IsCanceled;
- KeyValue.
- event EventHandler<EntityAfterLoadEventArgs> Loaded
- Обработчик события, возникающего после загрузки объекта.
-
Обработчик события получает аргумент типа EntityAfterLoadEventArgs.
Свойства EntityAfterLoadEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnMap;
- DataSource.
- event EventHandler<EntityBeforeLoadEventArgs> Loading
- Обработчик события, возникающего перед загрузкой объекта.
-
Обработчик события получает аргумент типа EntityBeforeLoadEventArgs.
Свойства EntityBeforeLoadEventArgs предоставляющие сведения, относящиеся к событию:
- ColumnMap;
- DataSource;
- IsCanceled.
- event EventHandler<EntityAfterEventArgs> Saved
- Обработчик события, возникающего после сохранения объекта.
-
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues;
- PrimaryColumnValue.
- event EventHandler<EntitySaveErrorEventArgs> SaveError
- Обработчик события, возникающего при ошибке сохранения объекта.
-
Обработчик события получает аргумент типа EntitySaveErrorEventArgs.
Свойства EntitySaveErrorEventArgs предоставляющие сведения, относящиеся к событию:
- Exception;
- IsHandled.
- event EventHandler<EntityBeforeEventArgs> Saving
- Обработчик события, возникающего перед сохранением объекта.
-
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition;
- IsCanceled;
- KeyValue.
- event EventHandler<EntityAfterEventArgs> Updated
- Обработчик события, возникающего после обновления объекта.
-
Обработчик события получает аргумент типа EntityAfterEventArgs.
Свойства EntityAfterEventArgs предоставляющие сведения, относящиеся к событию:
- ModifiedColumnValues;
- PrimaryColumnValue.
- event EventHandler<EntityBeforeEventArgs>Updating
- Обработчик события, возникающего перед обновлением объекта.
-
Обработчик события получает аргумент типа EntityBeforeEventArgs.
Свойства EntityBeforeEventArgs предоставляющие сведения, относящиеся к событию:
- AdditionalCondition;
- IsCanceled;
- KeyValue.
- event EventHandler<EntityValidationEventArgs> Validating
- Обработчик события, возникающего при проверке объекта.
-
Обработчик события получает аргумент типа EntityValidationEventArgs.
Свойства EntityValidationEventArgs предоставляющие сведения, относящиеся к событию:
- Messages.
Смотрите также: