Класс Entity

Сложный
PDF

Пространство имен Terrasoft.Core.Entities.

Класс Terrasoft.Core.Entities.Entity предназначен для доступа к объекту, который представляет собой запись в таблице базы данных.

На заметку. Полный перечень методов и свойств класса Entity, его родительских классов, а также реализуемых им интерфейсов, можно найти в Библиотеке .NET классов.

Конструкторы 

Entity(UserConnection userConnection)

Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection.

Entity(UserConnection userConnection, Guid schemaUId)

Создает новый экземпляр класса Entity для заданного пользовательского подключения UserConnection и схемы заданной идентификатором schemaUId.

Entity(Entity source)

Создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.

Свойства 

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

Имя менеджера перечислений объекта.

Методы 

void AddDefRights()
void AddDefRights(Guid primaryColumnValue)
void AddDefRights(IEnumerable<Guid> primaryColumnValues)

Для данного объекта устанавливает права по умолчанию.

Параметры
primaryColumnValue Идентификатор значения права доступа.
primaryColumnValues Массив идентификаторов значений прав доступа.
virtual object Clone()

Создает клон текущего экземпляра Entity.

Insert CreateInsert(bool skipLookupColumnValues)

Создает запрос на добавление данных в базу.

Параметры
skipLookupColumnValues Признак добавления данных с учетом справочных колонок. По умолчанию установлено значение false.
Update CreateUpdate(bool skipLookupColumnValues)

Создает запрос на обновление данных в базе.

Параметры
skipLookupColumnValues Параметр, определяющий необходимость добавления в базу данных колонок типа справочник. Если параметр равен true, то колонки типа справочник не будут добавлены в базу. Значение по умолчанию — false.
virtual bool Delete()
virtual bool Delete(object keyValue)

Удаляет из базы данных запись объекта.

Параметры
keyValue Значение ключевого поля.
bool DeleteWithCancelProcess()

Удаляет из базы данных запись объекта и отменяет запущенный процесс.

static Entity DeserializeFromJson(UserConnection userConnection, string jsonValue)

Создает объект типа Entity, используя пользовательское подключение userConnection, и заполняет значения его полей из указанной строки формата JSON jsonValue.

Параметры
jsonValue Строка формата JSON.
userConnection Пользовательское подключение.
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.

Параметры
conditionColumn Колонка, для которой задается условие выборки.
conditionColumnName Название колонки, для которой задается условие выборки.
conditionValue Значение колонки условия для выбираемых данных.
conditions Набор условий фильтрации выборки записей объекта.
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 загружает из базы данных объект с первичной колонкой.

Параметры
keyValue Значение ключевого поля.
bool FetchPrimaryInfoFromDB(EntitySchemaColumn conditionColumn, object conditionValue)
bool FetchPrimaryInfoFromDB(string conditionColumnName, object conditionValue)

По заданному условию загружает из базы данных объект с первичными колонками, включая колонку, первичную для отображения.

Параметры
conditionColumn Колонка, для которой задается условие выборки.
conditionColumnName Название колонки, для которой задается условие выборки.
conditionValue Значение колонки условия для выбираемых данных.
byte[] GetBytesValue(string valueName)

Возвращает значение заданной колонки объекта в виде массива байт.

Параметры
valueName Имя колонки объекта.
IEnumerable<EntityColumnValue> GetChangedColumnValues()

Возвращает коллекцию имен колонок объекта, которые были изменены.

string GetColumnDisplayValue(EntitySchemaColumn column)

Возвращает значение для отображения свойства объекта, соответствующее заданной колонке схемы объекта.

Параметры
column Определенная колонка схемы объекта.
object GetColumnOldValue(string valueName)
object GetColumnOldValue(EntitySchemaColumn column)

Возвращает предыдущее значение заданного свойства объекта.

Параметры
column Определенная колонка схемы объекта.
valueName Имя колонки объекта.
virtual object GetColumnValue(string valueName)
virtual object GetColumnValue(EntitySchemaColumn column)

Возвращает значение колонки объекта с заданным именем, cоответствующее переданной колонке схемы объекта.

Параметры
column Определенная колонка схемы объекта.
valueName Имя колонки объекта.
IEnumerable<string> GetColumnValueNames()

Возвращает коллекцию имен колонок объекта.

virtual bool GetIsColumnValueLoaded(string valueName)
bool GetIsColumnValueLoaded(EntitySchemaColumn column)

Возвращает признак, определяющий, загружено ли заданное свойство объекта.

Параметры
column Определенная колонка схемы объекта.
valueName Имя колонки объекта.
virtual MemoryStream GetStreamValue(string valueName)

Возвращает преобразованное в экземпляр типа System.IO.MemoryStream значение переданной колонки схемы объекта.

Параметры
valueName Имя колонки объекта.
TResult GetTypedColumnValue<TResult>(EntitySchemaColumn column)

Возвращает типизированное значение свойства объекта, соответствующее заданной колонке схемы объекта.

Параметры
column Определенная колонка схемы объекта.
TResult GetTypedOldColumnValue<TResult>(string valueName)
TResult GetTypedOldColumnValue<TResult>(EntitySchemaColumn column)

Возвращает типизированное предыдущее значение свойства объекта, соответствующее заданной колонке схемы объекта.

Параметры
column Определенная колонка схемы объекта.
valueName Имя колонки объекта.
virtual bool InsertToDB(bool skipLookupColumnValues, bool validateRequired)

Добавляет запись текущего объекта в базу данных.

Параметры
skipLookupColumnValues Параметр, определяющий необходимость добавления в базу данных колонок типа справочник. Если параметр равен true, то колонки типа справочник не будут добавлены в базу. Значение по умолчанию — false.
validateRequired Параметр, определяющий необходимость проверки заполнения обязательных значений. Значение по умолчанию — true.
bool IsColumnValueLoaded(string valueName)
bool IsColumnValueLoaded(EntitySchemaColumn column)

Определяет, загружено ли значение свойства объекта с заданным именем.

Параметры
column Определенная колонка схемы объекта.
valueName Имя колонки объекта.
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)

Заполняет объект переданными данными.

Параметры
columnMap Свойства объекта, заполняемые данными.
dataRow Экземпляр System.Data.DataRow, из которого загружаются данные в объект.
dataReader Экземпляр System.Data.IDataReader, из которого загружаются данные.
dataSource Экземпляр System.Object, из которого загружаются данные.
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)

Для свойства с заданным именем загружает его значение из переданного экземпляра.

Параметры
binaryPackageSize Размер загружаемого значения.
column Колонка схемы объекта.
columnValueName Имя свойства объекта.
dataReader Экземпляр System.Data.IDataReader, из которого загружается значение свойства.
fieldIndex Индекс загружаемого из System.Data.IDataReader поля.
value Загружаемое значение свойства.
static Entity Read(UserConnection userConnection, DataReader dataReader)

Возвращает значение текущего свойства типа Entity из потока ввода.

Параметры
dataReader Экземпляр System.Data.IDataReader, из которого загружается значение свойства.
userConnection Пользовательское подключение.
void ReadData(DataReader reader)
void ReadData(DataReader reader, EntitySchema schema)

Считывает данные из схемы объекта в заданный объект типа System.Data.IDataReader.

Параметры
reader Экземпляр System.Data.IDataReader, в который загружаются данные схемы объекта.
schema Схема объекта.
void ResetColumnValues()

Для всех свойств объекта отменяет изменения.

void ResetOldColumnValues()

Для всех свойств объекта отменяет изменения, устанавливая предыдущее значение.

bool Save(bool validateRequired)

Сохраняет объект в базе данных.

Параметры
validateRequired Определяет необходимость проверки заполнения обязательных значений. Значение по умолчанию — true.
static string SerializeToJson(Entity entity)

Преобразует объект entity в строку формата JSON.

Параметры
entity Экземпляр Entity.
virtual void SetBytesValue(string valueName, byte[] streamBytes)

Устанавливает для заданного свойства объекта переданное значение типа System.Byte.

Параметры
streamBytes Значение типа System.Byte, которое устанавливается в заданную колонку объекта.
valueName Имя колонки объекта.
bool SetColumnBothValues(EntitySchemaColumn column, object value, string displayValue)
bool SetColumnBothValues(string columnValueName, object value, string displayColumnValueName, string displayValue)

Устанавливает свойству объекта, соответствующему заданной колонке схемы, переданные значение value и значение для отображения displayValue.

Параметры
column Колонка схемы объекта.
displayValue Загружаемое значение для отображения.
displayColumnValueName Имя колонки, содержащей значение для отображения.
value Загружаемое значение колонки.
bool SetColumnValue(string valueName, object value)
bool SetColumnValue(EntitySchemaColumn column, object value)

Устанавливает заданной колонке схемы переданное значение value.

Параметры
column Колонка схемы объекта.
value Загружаемое значение колонки.
valueName Имя колонки объекта.
void SeddefColumnValue(string columnValueName, object defValue)
void SeddefColumnValue(string columnValueName)

Устанавливает значение по умолчанию свойству с заданным именем.

Параметры
columnValueName Имя колонки объекта.
defValue Значение по умолчанию.
void SeddefColumnValues()

Для всех свойств объекта устанавливает значения по умолчанию.

bool SetStreamValue(string valueName, Stream value)

Устанавливает для заданного свойства объекта переданное значение типа System.IO.Stream.

Параметры
value Загружаемое значение колонки.
valueName Имя колонки объекта.
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 в поток вывода с заданными именем.

Параметры
couldConvertForXml Разрешить преобразование для xml-сериализации.
dataWriter Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода.
entity Значение для записи типа Entity.
propertyName Имя объекта.
void Write(DataWriter dataWriter, string propertyName)

Осуществляет запись данных в поток вывода с заданным именем.

Параметры
dataWriter Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода.
propertyName Имя свойства.
void WriteData(DataWriter writer)
void WriteData(DataWriter writer, EntitySchema schema)

Осуществляет запись в поток вывода для указанной либо текущей схемы объекта.

Параметры
schema Схема объекта.
writer Экземпляр класса Terrasoft.Common.DataWriter, предоставляющий методы последовательной записи значений в поток вывода.

События 

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.