AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2016, 12:39   #1  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
? Пакетной получение всех связей 1:N
Коллеги, приветствую.

Есть следующая задача.
Имеется сущность контакт. У сущности есть несколько связей 1:М. Требуется максимально оптимальное решение (дотнет) для получения всех связанных объектов (гуидов) на текущий момент по этим связям.

Моё решение (три связанных сущности new_sms, new_discountcard, new_order):
Код:
            string fetch = @"
                <fetch count='50' >
                  <entity name='contact' >
                    <filter type='and' >
                      <condition attribute='contactid' operator='eq' value='" + contactSlaveId + @"' />
                    </filter>
                    <link-entity name='new_sms' from='new_contactid' to='contactid' link-type='outer' alias='sms' >
                      <attribute name='new_smsid' />
                    </link-entity>
                    <link-entity name='new_discountcard' from='new_contactid' to='contactid' link-type='outer' alias='card' >
                      <attribute name='new_discountcardid' />
                    </link-entity>
                    <link-entity name='new_order' from='new_contactid' to='contactid' link-type='outer' alias='order' >
                      <attribute name='new_orderid' />
                    </link-entity>
                  </entity>
                </fetch>";
            EntityCollection result = Service.RetrieveMultiple(new FetchExpression(fetch));

            var smsList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("sms.new_smsid").Value).Distinct().ToList();
            var cardList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("card.new_discountcardid").Value).Distinct().ToList();
            var orderList = result.Entities.Select(x => x.GetAttributeValue<AliasedValue>("order.new_orderid").Value).Distinct().ToList();
Есть ли что-то более быстрое\оптимальное\элегантное (нужное подчеркнуть)?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
guid всех сущностей NoTimeToCry Dynamics CRM: Разработка 5 07.06.2012 14:57
Подсчет всех записей со всех страниц lin2nil Dynamics CRM: Функционал 21 08.12.2011 11:02
Получение информации о сущности через IMetadataService lode Dynamics CRM: Разработка 2 12.07.2011 10:21
Получение списка шарингов записи ZooY Dynamics CRM: Разработка 0 13.03.2010 13:30
Поменял подразделение у всех пользователей в CRM cruzo Dynamics CRM: Администрирование 2 29.09.2005 17:32

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:30.