Получение сущности справочника из сущности записи
Добрый день.
Проблема такова: есть сущность 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; }