Преобразование полученного Entity в конкретный дочерний объект.
Добрый день!
Прошу помощи у знатоков серверной части Creatio.
При работе с EntitySchemaQuery после указания фильтров и использования метода GetEntityCollection - мы получаем коллекцию сущностей какого-то конкретного объекта. Так вот вопрос. Возможно ли данную коллекцию сущностей (Entity) преобразовать к конкретному Entity (Например, Account или Contact) используя стандартный функционал?
Я знаю, что можно сделать что-то подобное:
var account = new Account(userConnection);
account.FetchFromDB(id);
Но, возможно ли сделать из этого коллекцию из нескольких результатов с фильтрами, например из ESQ?
Нравится
Добрый вечер.
Вот таким образом можно из одной коллекции с помощью фильтров получать разные наборы данных, а потом уже работать со списком:
var collParameters = projectSchemesCollectionParameters.Where(p => p.GetTypedColumnValue<string>("SchemeName") == 'Test name'); var collParametersList = collParameters.ToList();
Алла Савельева пишет:
Добрый вечер.
Вот таким образом можно из одной коллекции с помощью фильтров получать разные наборы данных, а потом уже работать со списком:
var collParameters = projectSchemesCollectionParameters.Where(p => p.GetTypedColumnValue<string>("SchemeName") == 'Test name'); var collParametersList = collParameters.ToList();
Спасибо, но это не то, о чем я спрашивал. Я имел ввиду что-то вроде этого:
entitySchemaQuery.GetEntityCollection(userConnection).Select(a => a as Account);
Тимофей Ромах,
Добрый день.
Подобная конструкция не будет работать -
entitySchemaQuery.GetEntityCollection(userConnection).Select(a => a as Account);
- При получении коллекции с помощью ESQ, вы будете работать уже с Enitity, используя его методы - например при получении значений из тех колонок, что вы вытянули через ESQ (конечно с примененными фильтрами).
Но дочернего объекта по цепочке - не будет.
Нашел решение, это возможно через Cast, а именно:
entitySchemaQuery.GetEntityCollection(userConnection).Cast<Account>();
После чего мы получаем IEnumerable<Account> с колонками, добавленными в ESQ