Получение сущности справочника из сущности записи
Добрый день.
Проблема такова: есть сущность DocumentEntity, в ней есть справочное поле SenderId(в нем хранится Id из справочника) - каким образом можно получить сущность записи из справочника не прибегая к ESQ (с ESQ все работает, но при отладке в VS обратил внимание на свойство LookupColumnEntities)?
Код:
var SenderEntityLookup = DocumentEntity.LookupColumnEntities.GetEntity("Sender") as Sender;
var Code = SenderEntityLookup.GetTypedColumnValue("Code");
VS:
LoadState: NotLoaded
"Невозможно получить значение колонки Code, так как она не была загружена"
Нравится
Данные хранятся в базе на сервере, их изначально нет в объектах.
В единственном примере упоминания этого свойства в конфигурации в схеме DetailIndexer эту Entity так получают, а потом отдельно наполняют при помощи SetColumnValue:
private Entity GetDetailParentEntity(Entity detailEntity) {
var parentEntityName = detailEntity.SchemaName.Contains("Contact") ? "Contact" : "Account";
var parentEntityColumn = $"{parentEntityName}Id";
if (!detailEntity.IsColumnValueLoaded(parentEntityColumn)) {
return null;
}
var parentEntity = detailEntity.LookupColumnEntities.GetEntity(parentEntityName);
parentEntity.SetColumnValue(parentEntity.Schema.PrimaryColumn,
detailEntity.GetTypedColumnValue<Guid>(parentEntityColumn));
return parentEntity;
}