Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt een tabel samengevoegd die is gerelateerd aan de entiteit of koppelingsentiteit om extra kolommen met het resultaat te retourneren. Ook gebruikt met filterelementen om voorwaarden toe te passen op kolomwaarden in gerelateerde tabellen.
Meer informatie over het samenvoegen van tabellen met FetchXml.
Voorbeelden
In de volgende voorbeelden ziet u het gebruik link-entity met verschillende typen relaties.
Veel-op-een-relatie
Deze query retourneert gegevens uit het account en de tabellen met contactpersonen op basis van de opzoekkolom PrimaryContactId in de accountrecord:
<fetch>
<entity name='account'>
<attribute name='name' />
<link-entity name='contact'
from='contactid'
to='primarycontactid'
link-type='inner'
alias='contact'>
<attribute name='fullname' />
</link-entity>
</entity>
</fetch>
Een-op-veel-relatie
Deze query retourneert gegevens uit de tabellen met contactpersonen en accounts op basis van de account_primary_contact een-op-veel-relatie.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Veel-op-veel-relatie
Deze query retourneert gegevens uit de tabellen SystemUser en Team met behulp van de teammembership_association veel-op-veel-relatie.
<fetch>
<entity name='systemuser'>
<attribute name='fullname' />
<link-entity name='teammembership'
from='systemuserid'
to='systemuserid' >
<link-entity name='team'
from='teamid'
to='teamid'
link-type='inner'
alias='team'>
<attribute name='name' />
</link-entity>
</link-entity>
</entity>
</fetch>
Attributes
| Naam | Vereist? | Description |
|---|---|---|
name |
Yes | De logische naam van de gerelateerde tabel. |
to |
Nee. | De logische naam van de kolom in het bovenliggende element die overeenkomt met de gerelateerde tabelkolom die is opgegeven in het from kenmerk.
Hoewel dit kenmerk technisch niet vereist is, wordt dit kenmerk meestal gebruikt. |
from |
Nee. | De logische naam van de kolom uit de gerelateerde tabel die overeenkomt met de kolom die is opgegeven in het to kenmerk.
Hoewel dit kenmerk technisch niet vereist is, wordt dit kenmerk meestal gebruikt. |
alias |
Nee. | Vertegenwoordigt de naam van de gerelateerde tabel. Als u geen alias instelt, wordt er een voor u gegenereerd om ervoor te zorgen dat alle kolommen unieke namen hebben, maar u kunt die alias niet gebruiken om te verwijzen naar de koppelingsentiteit in andere delen van het ophalen van XML. De automatisch gegenereerde aliassen maken gebruik van het patroon {LogicalName}+{N}, waarbij N het opeenvolgende nummer van de koppelingsentiteit in het ophalen van XML begint vanaf 1. |
link-type |
Nee. | Het type koppelingsgebruik. Standaardgedrag is innerlijk. Meer informatie over opties voor koppelingstypen |
intersect |
Nee. | Geeft aan dat het link-entity wordt gebruikt om tabellen samen te voegen en geen kolommen te retourneren, meestal voor een veel-op-veel-relatie. Het bestaan van dit kenmerk wijzigt de uitvoering van de query niet. U kunt dit kenmerk toevoegen aan uw link-entity wanneer u deelneemt aan een tabel, maar geen kenmerkelementen bevat om aan te geven dat dit opzettelijk is. |
Gebruik from en to kenmerken
U kunt het beste waarden instellen voor zowel de from als to de kenmerken. Beide kenmerken worden meestal gebruikt om de kolommen expliciet te definiëren die overeenkomen.
from De kenmerken en to kenmerken zijn echter technisch niet vereist.
Opmerking
Het is belangrijk dat de kolommen die zijn opgegeven in de
fromentokenmerken hetzelfde type zijn. Het gebruik van verschillende kolomtypen wordt niet ondersteund. Wanneer de kolommen niet hetzelfde type zijn, kan de Dataverse-infrastructuur mogelijk een conversie afdwingen, maar deze praktijk kan leiden tot een aanzienlijke prestatiestraf.De betekenis van de
fromentokenmerken in FetchXml is het tegenovergestelde van de bijbehorende eigenschappen LinkEntity.LinkFromAttributeName en LinkEntity.LinkToAttributeName die worden gebruikt bij het opstellen van query's met Behulp van QueryExpression.
Als u geen van deze kenmerken gebruikt en er een veel-op-veel-systeemrelatie tussen de twee tabellen bestaat, selecteert Dataverse de juiste sleutelwaarden met die relatie.
Als u slechts één van de from of to kenmerken opgeeft, probeert Dataverse de juiste relatie te bepalen met behulp van de relatieschemadefinities tussen de twee tabellen.
Anders krijgt u de volgende fout:
Code:
0x80041102
Bericht:No system many-to-many relationship exists between <table A> and <table B>. If attempting to link through a custom many-to-many relationship ensure that you provide the from and to attributes.
Beide query's maken bijvoorbeeld gebruik van de teammembership_association veel-op-veel-relatie tussen systemuser en teamtabellen . In dit geval kan Dataverse de from en to kenmerken uitwerken en de kenmerken die de link-entity intersecttabel specificeren, niet nodig zijn.
Alle kenmerken opgeven
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity
name="teammembership"
from="systemuserid"
to="systemuserid"
intersect="true"
>
<link-entity
name="team"
from="teamid"
to="teamid"
link-type="inner"
alias="team"
>
<attribute name="name" />
</link-entity>
</link-entity>
</entity>
</fetch>
Dataverse laten kiezen
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
opties voor koppelingstype
Hiermee link-type kunt u filters toepassen op de records die worden geretourneerd. In de volgende tabel worden de geldige link-type waarden beschreven:
| Naam | Description |
|---|---|
inner |
Default. Hiermee worden resultaten beperkt tot rijen met overeenkomende waarden in beide tabellen. |
outer |
Bevat resultaten van het bovenliggende element dat geen overeenkomende waarde heeft. |
any |
Gebruik dit in een filterelement. Hiermee beperkt u de resultaten tot bovenliggende rijen met overeenkomende rijen in de gekoppelde entiteit.
Meer informatie over het any filteren van waarden in gerelateerde tabellen |
not any |
Gebruik dit in een filterelement. Hiermee worden resultaten beperkt tot bovenliggende rijen zonder overeenkomende rijen in de gekoppelde entiteit.
Meer informatie over het not any filteren van waarden in gerelateerde tabellen |
all |
Gebruik dit in een filterelement. Hiermee worden de resultaten beperkt tot bovenliggende rijen waarin rijen met overeenkomende from kolomwaarden aanwezig zijn in de koppelingsentiteit, maar geen van deze overeenkomende rijen voldoet aan de extra filters die zijn gedefinieerd voor deze koppelingsentiteit. U moet de extra filters omkeren om bovenliggende rijen te vinden waar elke overeenkomende koppelingsentiteitsrij voldoet aan een aantal aanvullende criteria.
Meer informatie over het all filteren van waarden in gerelateerde tabellen |
not all |
Gebruik dit in een filterelement. Hiermee beperkt u de resultaten tot bovenliggende rijen met overeenkomende rijen in de gekoppelde entiteit. Dit koppelingstype is gelijk aan any ondanks de naam.
Meer informatie over het not all filteren van waarden in gerelateerde tabellen |
exists |
Een variant hiervan inner kan prestatievoordelen bieden. Maakt gebruik van een EXISTS-voorwaarde in de where component. Gebruik deze optie wanneer meerdere exemplaren van de bovenliggende rij niet nodig zijn in de resultaten.
Meer informatie over bestaat en in |
in |
Een variant hiervan inner kan prestatievoordelen bieden. Maakt gebruik van een IN-voorwaarde in de where component. Gebruik deze optie wanneer meerdere exemplaren van de bovenliggende rij niet nodig zijn in de resultaten.
Meer informatie over bestaat en in |
matchfirstrowusingcrossapply |
Een variant hiervan inner kan prestatievoordelen bieden. Gebruik dit type wanneer slechts één voorbeeld van een overeenkomende rij van de gekoppelde entiteit voldoende is en er niet meerdere exemplaren van de bovenliggende rij in de resultaten nodig zijn.
Meer informatie over matchfirstrowusingcrossapply |
Bovenliggende elementen
| Naam | Description |
|---|---|
| entiteit | Hiermee geeft u het onderliggende element voor een fetch-element, de bovenliggende entiteit voor de query. Er is slechts één entiteit toegestaan. |
| link-entity | Hiermee wordt een tabel samengevoegd die is gerelateerd aan de entiteit of koppelingsentiteit om meer kolommen met het resultaat te retourneren. |
Onderliggende elementen
| Naam | Voorvallen | Description |
|---|---|---|
| alle kenmerken | 0 of 1 | Geeft aan dat alle niet-null-kolomwaarden voor elke rij worden geretourneerd. Het is hetzelfde als het toevoegen van kenmerkelementen. We raden u aan dit element in de meeste gevallen niet te gebruiken. |
| attribuut | 0 of veel | Hiermee geeft u een kolom op van een entiteit of koppelingsentiteit die moet worden geretourneerd met een query. |
| bevelen | 0 of veel | Hiermee geeft u een sorteervolgorde op voor de rijen van de resultaten. |
| link-entity | 0 of veel | Hiermee wordt een tabel samengevoegd die is gerelateerd aan de entiteit of koppelingsentiteit om meer kolommen met het resultaat te retourneren. |
| filteren | 0 of 1 | Geef complexe voorwaarden op voor een entiteit of koppelingsentiteit die moet worden toegepast op een query. |