knowledgecenter-breadcrum

Knowledge Center

26 Apr, 2023

How to use FetchXml with link-entity in WebAPI D365 CE

Posted on 26 Apr, 2023 by Admin, Posted in Dynamics 365 Dataverse

How to use FetchXml with link-entity in WebAPI D365 CE Blogs

What is Link-Entity

1. To combine data from different records in your query you need to use the <link-entity> element.
2. Each <link-entity> needs 3 key pieces of information:</link-entity></link-entity>

2.a. The entity types to link to

2.b. The attribute in the main entity to join from

2.c. The attribute in the another entity to join to

NOTE: If you have a many-to-many (N:N) relationship you can’t join the entities directly, you have to join via the intermediate “intersect” entity.

3. There are two types of link-types: inner and outer.

4. The Link-Entity syntax requires providing of an Alias using which the values of the attributes can be accessed from the result-set.

NOTE:  If you do not provide an alias, the platform will auto generate the alias for you.

Example:
Suppose we have a requirement in which we need contact details like fullname, firstname, lastname and the account details like name and phone number that is related to contact.

Solution:
First, we will write a simple FetchXml query for contact in which we will select the attributes like fullname, firstname, lastname.

API Request:
https://dev-onepiece07.api.crm7.dynamics.com/api/data/v9.2/contacts?fetchXml=<link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity> </link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity>

Output:

2. As per the requirement that has been mentioned in the example, we will add the link- entity to get the account and its details like name and phone number that are related to contact.

2.a. We will use an inner link-type which will match the data of both the entity, and it will give the result.

API Request:

https://dev-onepiece07.api.crm7.dynamics.com/api/data/v9.2/contacts?fetchXml=<link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity> <link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"> </link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity>

Output:

2.b. We will use an outer link-type which will give all the data of the first entity if there are no matching records.

API Request

https://dev-onepiece07.api.crm7.dynamics.com/api/data/v9.2/contacts?fetchXml=<link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity><link-entity></link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity></link-entity><link-entity alias="account" from="accountid" link-type="inner" name="account" to="parentcustomerid"></link-entity><link-entity></link-entity><link-entity> </link-entity> <link-entity alias="account" from="accountid" link-type="outer" name="account" to="parentcustomerid"> </link-entity> </link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity></link-entity>

Output:

NOTE: Each query can contain a maximum of 10 links

We have used the link-entity to fetch all contact details like fullname, firstname, lastname and the account details like name and phone number that is related to contact.

Comment

This is a Required Field

Loading

Recent Updates

Blogs
27 Feb, 2026

How to Use Parameters in Power BI to Connect to Microsoft Dataverse

When working with multiple environments in Microsoft Dataverse (DEV, TEST, PROD), hardcoding the environment URL inside Power BI Desktop creates…

READ MORE
Blogs
25 Feb, 2026

Power Apps Production Deployment Checklist: Best Practices for a Smooth Go-Live

Introduction In Power Apps, even a small mistake during deployment can impact users and business processes. This checklist will help…

READ MORE
PCF Ribbon Button Thumbnail
Blogs
16 Feb, 2026

Launching a PCF Control from a Ribbon Button using Custom Pages in Dynamics 365

Introduction: In Model-driven apps, PCF controls are typically embedded inside forms or views. However, unique business requirements often demand more…

READ MORE