Связывание не по основному ключу
FetchXML позволяет выполнять выборку данных в CRM. При этом, если мы хотим запросить данные с двух различных объектов: основного и дочернего, то обычно мы используем для этого ссылки по лукапу или связь N:N. Но FetchXML позволяют выполнять связывание объектов по любым однотипным полям.
К примеру следующий запрос отбирает Контакты (и инфу с Организаций), для которых есть Организация с точно таким же адресом электронной почты:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" > <entity name="contact" > <attribute name="fullname" /> <attribute name="emailaddress1" /> <order attribute="fullname" descending="false" /> <link-entity name="account" from="emailaddress1" to="emailaddress1" alias="Account" > <attribute name="emailaddress1" /> <attribute name="name" /> </link-entity> </entity> </fetch>
При необходимости, можно завязать Guid, который хранится в текстовом поле с Id другой сущности или лукапом, будет работать.