AXForum  
Zurück   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 10.11.2010, 01:41   #1  
Kipetcoff ist offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Registriert seit: 20.05.2009
Ort: Санкт-Петербург
Выбор записей Many-To-Many
Есть две сущности "new_pmrequest"и "new_pmsupreq" ..они между собой связаны Many-To-Many связью "new_new_pmrequest_new_pmsupreqmany". Задача выбрать new_pmrequest который когда-то был ассоциирован с "new_pmsupreq". В списке связанных с ним сущностей я его вижу,но программно получить не получается.. Вот написал такую штуку..

Code:
QueryExpression qe = new QueryExpression();
        qe.EntityName = "new_pmrequest";
        qe.ColumnSet = new AllColumns();

        LinkEntity link = new LinkEntity();
        link.LinkFromEntityName = "new_pmsupreq";
        link.LinkFromAttributeName = "new_pmsupreqid";
        link.LinkToEntityName = "new_new_pmrequest_new_pmsupreqmany";
        link.LinkToAttributeName = "new_pmsupreqid";

        LinkEntity link2 = new LinkEntity();
        link2.LinkFromEntityName = "new_new_pmrequest_new_pmsupreqmany";
        link2.LinkFromAttributeName = "new_pmrequestid";
        link2.LinkToEntityName = "new_pmrequest";
        link2.LinkToAttributeName = "new_pmrequestid";

        ConditionExpression condition = new ConditionExpression();
        condition.AttributeName = "new_pmsupreqid";
        condition.Operator = ConditionOperator.Equal;
        condition.Values = new object[] { "16895420-12EC-DF11-BD73-00155D8E4B06" };
        link.LinkCriteria.FilterOperator = LogicalOperator.And;
        link.LinkCriteria.Conditions.Add(condition);

        // Add the from and to links to the query.
        link2.LinkEntities.Add(link);

        RetrieveMultipleRequest request = new RetrieveMultipleRequest();
        request.Query = qe;
        request.ReturnDynamicEntities = true;
        RetrieveMultipleResponse response = (RetrieveMultipleResponse)crmService.Execute(request);
Результатом являются все значения new_pmrequest..которые и отношения к new_pmsupreq с ИД "16895420-12EC-DF11-BD73-00155D8E4B06" не имеют.. Что за батва такая? Может не правильно кулему эту написал?
Alt 10.11.2010, 09:53   #2  
Kipetcoff ist offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Registriert seit: 20.05.2009
Ort: Санкт-Петербург
Проблема в том что я не привязал к QueryExpression .. Вот тут как-то не понятно ..по логике должно получится что-то вроде
qe.LinkEntities.Add(link);
qe.LinkEntities.Add(link2);

Но мне выдает ошибку New_pmrequest' entity doesn't contain attribute with Name = 'new_pmsupreqid
Alt 10.11.2010, 10:17   #3  
Kipetcoff ist offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Registriert seit: 20.05.2009
Ort: Санкт-Петербург
Ещё..во всех примерах пишут такую конструкцию intersectEntity.LinkEntities = new LinkEntity[] { nestedLinkEntity }; ..Какого спрашивается? intersectEntity.LinkEntities readonly ошибка
Alt 10.11.2010, 10:33   #4  
Kipetcoff ist offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Registriert seit: 20.05.2009
Ort: Санкт-Петербург
Похоже просто не с того конца пошел..все заработало..

Code:
QueryExpression query = new QueryExpression();
        query.EntityName = "new_pmrequest";
        query.ColumnSet = new AllColumns();
        //query.ColumnSet = new ColumnSet();
        //query.ColumnSet.AddColumn("new_pmrequestid");

        // Configure the links
        LinkEntity linkEntity1 = new LinkEntity();
        linkEntity1.LinkFromEntityName = "new_pmrequest";
        linkEntity1.LinkFromAttributeName = "new_pmrequestid";
        linkEntity1.LinkToEntityName = "new_new_pmrequest_new_pmsupreqmany";
        linkEntity1.LinkToAttributeName = "new_pmrequestid";

        LinkEntity linkEntity2 = new LinkEntity();
        linkEntity2.LinkFromEntityName = "new_new_pmrequest_new_pmsupreqmany";
        linkEntity2.LinkFromAttributeName = "new_pmsupreqid";
        linkEntity2.LinkToEntityName = "new_pmsupreq";
        linkEntity2.LinkToAttributeName = "new_pmsupreqid";

        // Create the condition to test the contractid
        ConditionExpression condition = new ConditionExpression();
        condition.AttributeName = "new_pmsupreqid";
        condition.Operator = ConditionOperator.Equal;
        condition.Values = new object[] { "16895420-12EC-DF11-BD73-00155D8E4B06" };

        // Add the condition to the link
        linkEntity2.LinkCriteria = new FilterExpression();
        linkEntity2.LinkCriteria.AddCondition(condition);

        // Add the links to the query

        linkEntity1.LinkEntities.Add( linkEntity2 );
        query.LinkEntities.Add( linkEntity1 );

        // Configure the retrieve object

        RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest();
        retrieve.ReturnDynamicEntities = true;
        retrieve.Query = query;

        // Execute retrieve
        RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)crmService.Execute(retrieve);
This post has been rated by: Bondonello (3).
Alt 10.11.2010, 11:30   #5  
Bondonello ist offline
Bondonello
Kostya Afendikov
Benutzerbild von Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Registriert seit: 06.06.2008
Ort: Украина
Еще вариант с использование fetchXml, не помешает
http://mscrm-developer.blogspot.com/...r-many-to.html
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
При слиянии записей-дубликатов выскакивает ошибка о "циклической ссылке" Bakai Madybaev Dynamics CRM: Функционал 11 20.12.2011 22:59
Создание группы записей Tarasov E Dynamics CRM: Разработка 8 23.06.2010 11:19
Мелкомягкий CRM: Отображение неактивных записей в стандартных представлениях Blog bot Dynamics CRM: Blogs 8 20.08.2009 10:43
Все о Microsoft Dynamics CRM: Включение неактивных записей в результат Быстрого поиска (Quick Find) в Microsoft Dynamics CRM 4.0 Blog bot Dynamics CRM: Blogs 0 26.07.2009 22:06
Фильтр для отчета - из списка связанных записей? AlekseyS Dynamics CRM: Разработка 3 11.09.2008 10:54

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 18:53 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.