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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.09.2013, 07:58   #1  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
? А что быстрее работает?
fetchXml или QueryExpression

Собственно
1. Вариант с xml
Код:
xml = @"
                        <fetch distinct='false' version='1.0' output-format='xml-platform' mapping='logical' aggregate='true'> 
                            <entity name='contact'> 
                               <attribute name='contactid' alias='contact_count' aggregate='count'/> 
                               <filter type='and'>
                                <condition attribute='parentcustomerid' operator='eq' value='" + accountId.ToString() + @"' />
                               </filter>
                                <link-entity name='alv_roleline' to='alv_role' from='alv_rolelineid' visible='false' alias='a_97dcd59da0d7e11188bb00155d016705'>
                                   <filter type='and'>
                                    <condition attribute='alv_rolecode' operator='eq' value='head' />
                                   </filter>
                                </link-entity>
                            </entity> 
                        </fetch>";

                    resultEntity = service.RetrieveMultiple(new FetchExpression(xml)).Entities.First();
                    count = (int)resultEntity.GetAttributeValue<Microsoft.Xrm.Sdk.AliasedValue>("contact_count").Value;
                    if (count == 0)
                    {
                        SetCollectInfo(service, accountId, false);
                        return;
                    }


2, Вот QueryExpression

Код:
 qe = new QueryExpression(Contact.EntityLogicalName);
                    qe.Criteria.AddCondition("parentcustomerid", ConditionOperator.Equal, accountId);
                    {
                        LinkEntity le = new LinkEntity(Contact.EntityLogicalName, alv_RoleLine.EntityLogicalName, "alv_role", "alv_rolelineid", JoinOperator.Inner);
                        le.LinkCriteria.AddCondition("alv_rolecode", ConditionOperator.Equal, "head");
                        qe.LinkEntities.Add(le);
                    }
                    if (service.RetrieveMultiple(qe).Entities.Count == 0)
                    {
                        SetCollectInfo(service, accountId, false);
                        return;
                    }

Мне кажется что первое будет быстрее работать А чтоб не казалось, кто знает точно?)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает простой отчет. Dzam Dynamics CRM: Разработка 4 20.10.2015 11:46
axforum blogs: Правила поиска дубликатов (Duplicate Detection Rules) CRM 2011. Как это работает и почему правила иногда автоматически становятся черновиками? Blog bot Dynamics CRM: Blogs 0 11.03.2013 20:11
Не работает фильтрация по сроку в действиях DimaV Dynamics CRM: Функционал 9 29.04.2010 06:48
CRM Deployment Manager. User manager не работает kras Dynamics CRM: Администрирование 18 05.12.2006 17:34
CRM очень медленно работает... CRM30 Dynamics CRM: Администрирование 12 26.07.2006 18:01

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

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

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