Добрый день! Столкнулся со следующей проблемой:
У меня есть путь относительно корневой схемы к параметру, который нужно изменить. Вида:
mainEntity.entityA.(...).entityN.lookupName
Мне нужно изменить значение справочника в последней присоединенной схеме.
Пробовал делать следующим образом:
var esqMainEntity = new EntitySchemaQuery(userConnection.EntitySchemaManager, "mainEntity");
esqMessage.AddColumn(actionEntityPath);
var mainEntity = esqMessage.GetEntity(userConnection, mainId);
mainEntity.SetColumnValue("mainEntity_entityA_(...)_entityN_lookupNameId", newValue);
mainEntity.Save();
В данном случае SetColumnValue проходит, но возникает ошибка на методе Save(). Видимо, таким образом нельзя изменить значение в присоединенной таблице, а не в основной.
Пробовал обновить через update:
var update = new Update(userConnection, "mainEntity")
.Set("mainEntity.entityA.(...).entityN.lookupNameId", Column.Const(newValue))
.Where("Id").IsEqual(Column.Const(mainId));
update.Execute();
Тоже выдает ошибку (с конструкцией "mainEntity_entityA_(...)_entityN_lookupNameId" та же история).
Подскажите, пожалуйста, как мне быть. Ещё думал получить Id entityN и обновить уже этот объект, но название самого объекта может отличаться от его названия относительно корневой схемы, и это не дает мне выполнить update этого объекта.