Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
Combina una taula relacionada amb l'entitat o l'entitat d'enllaç per retornar columnes addicionals amb el resultat. També s'utilitza amb elements de filtre per aplicar condicions als valors de columna en taules relacionades.
Obteniu informació sobre com unir taules mitjançant FetchXml.
Exemples
Els exemples següents mostren l'ús link-entity amb diferents tipus de relacions.
Relació de diversos a un
Aquesta consulta retorna dades de les taules de compte i contacte basades en la columna de cerca PrimaryContactId del registre del compte:
<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>
Relació d'un a diversos
Aquesta consulta retorna dades de les taules de contacte i compte basades en la relació d'un a diversos account_primary_contact de contactes.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Relació de diversos a diversos
Aquesta consulta retorna dades de les taules SystemUser i Team mitjançant la relació de diversos a diversos teammembership_association.
<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>
Atributs
| Nom | Obligatori? | Descripció |
|---|---|---|
name |
Sí | El nom lògic de la taula relacionada. |
to |
No | El nom lògic de la columna de l'element pare que coincideix amb la columna de taula relacionada especificada a l'atribut from .
Tot i que no és tècnicament necessari, normalment s'utilitza aquest atribut. |
from |
No | Nom lògic de la columna de la taula relacionada que coincideix amb la columna especificada a l'atribut to .
Tot i que no és tècnicament necessari, normalment s'utilitza aquest atribut. |
alias |
No | Representa el nom de la taula relacionada. Si no definiu un àlies, se'n generarà un per assegurar-vos que totes les columnes tinguin noms únics, però no podreu utilitzar aquest àlies per fer referència a l'entitat d'enllaç en altres parts de l'XML de recuperació. Els àlies generats automàticament utilitzen el patró {LogicalName}+{N}, on N és el número seqüencial de l'entitat d'enllaç a l'XML de recuperació a partir d'1. |
link-type |
No | El tipus d'ús de l'enllaç. El comportament per defecte és interior. Més informació sobre les opcions de tipus d'enllaç |
intersect |
No | Indica que s'utilitza link-entity per unir taules i no retornar cap columna, normalment per a una relació de diversos a diversos. L'existència d'aquest atribut no canvia l'execució de la consulta. Podeu afegir aquest atribut quan link-entity us uniu a una taula, però no incloeu cap element d'atribut per demostrar que és intencionat. |
Ús d'atributs from i to
El millor és establir valors per als from atributs i to Tots dos atributs s'utilitzen normalment per definir explícitament les columnes que han de coincidir. Tanmateix, els from atributs and to no són tècnicament necessaris.
Nota
És important que les columnes especificades als
fromatributs itosiguin del mateix tipus. No s'admet l'ús de diferents tipus de columna. Quan les columnes no són del mateix tipus, la infraestructura del Dataverse pot forçar una conversió, però aquesta pràctica pot provocar una penalització de rendiment significativa.El significat dels
fromatributs itoa FetchXml és el contrari de les propietats LinkEntity.LinkFromAttributeName i LinkEntity.LinkToAttributeName corresponents que s'utilitzen quan es redacten consultes mitjançant QueryExpression.
Si no utilitzeu cap d'aquests atributs i existeix una relació de diversos a diversos del sistema entre les dues taules, el Dataverse selecciona els valors de clau adequats mitjançant aquesta relació.
Si especifiqueu només un dels from atributs or to , el Dataverse intenta esbrinar la relació correcta mitjançant les definicions de l'esquema de relació entre les dues taules.
En cas contrari, rebràs l'error següent:
Codi:
0x80041102
Missatge: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.
Per exemple, ambdues consultes utilitzen la relació de diversos a diversos teammembership_association entre les taules systemuser i team . En aquest cas, el Dataverse pot calcular els from atributs and to i no és necessari el link-entity que especifica la taula d'intersecció.
Especifica tots els atributs
<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>
Deixa que el Dataverse triï
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
Opcions de tipus d'enllaç
S'utilitza link-type per aplicar filtres als registres retornats. A la taula següent es descriuen els valors vàlids link-type :
| Nom | Descripció |
|---|---|
inner |
Omissió. Restringeix els resultats a les files amb valors coincidents en ambdues taules. |
outer |
Inclou resultats de l'element principal que no tenen un valor coincident. |
any |
Utilitzeu-ho dins d'un element de filtre. Restringeix els resultats a les files principals amb les files coincidents de l'entitat enllaçada.
Apreneu a utilitzar any per filtrar valors en taules relacionades |
not any |
Utilitzeu-ho dins d'un element de filtre. Restringeix els resultats a les files principals sense files coincidents a l'entitat enllaçada.
Apreneu a utilitzar not any per filtrar valors en taules relacionades |
all |
Utilitzeu-ho dins d'un element de filtre. Restringeix els resultats a les files principals on hi ha files amb un valor de columna coincident from a l'entitat d'enllaç, però cap d'aquestes files coincidents compleix els filtres addicionals definits per a aquesta entitat d'enllaç. Heu d'invertir els filtres addicionals per trobar files principals on cada fila d'entitat d'enllaç coincident compleixi alguns criteris addicionals.
Apreneu a utilitzar all per filtrar valors en taules relacionades |
not all |
Utilitzeu-ho dins d'un element de filtre. Restringeix els resultats a les files principals amb les files coincidents de l'entitat enllaçada. Aquest tipus d'enllaç és equivalent a any malgrat el nom.
Apreneu a utilitzar not all per filtrar valors en taules relacionades |
exists |
Una variant d'això pot proporcionar beneficis de inner rendiment. Utilitza una condició EXISTS a la clàusula where . Utilitzeu-ho quan no siguin necessàries diverses còpies de la fila principal als resultats.
Més informació sobre existeix i a |
in |
Una variant d'això pot proporcionar beneficis de inner rendiment. Utilitza una condició IN a la clàusula where . Utilitzeu-ho quan no siguin necessàries diverses còpies de la fila principal als resultats.
Més informació sobre existeix i a |
matchfirstrowusingcrossapply |
Una variant d'això pot proporcionar beneficis de inner rendiment. Utilitzeu aquest tipus quan només n'hi hagi prou amb un únic exemple d'una fila coincident de l'entitat enllaçada i no siguin necessàries diverses còpies de la fila principal dels resultats.
Més informació sobre matchfirstrowusingcrossapply |
Elements principals
| Nom | Descripció |
|---|---|
| entitat | Especifica l'element fill d'un element fetch, l'entitat principal de la consulta. Només es permet una entitat. |
| entitat d'enllaç | Uneix una taula relacionada amb l'entitat o l'entitat d'enllaç per retornar més columnes amb el resultat. |
Elements secundaris
| Nom | Aparicions | Descripció |
|---|---|---|
| tots els atributs | 0 o 1 | Indica que es retornen tots els valors de columna no nuls de cada fila. És el mateix que no afegir cap element d'atribut. No recomanem utilitzar aquest element per a la majoria dels casos. |
| atribut | 0 o molts | Especifica una columna d'una entitat o entitat d'enllaç que s'ha de retornar amb una consulta. |
| ordre | 0 o molts | Especifica un ordre d'ordenació per a les files dels resultats. |
| entitat d'enllaç | 0 o molts | Uneix una taula relacionada amb l'entitat o l'entitat d'enllaç per retornar més columnes amb el resultat. |
| filtre | 0 o 1 | Especifiqueu condicions complexes perquè una entitat o entitat d'enllaç s'apliqui a una consulta. |