Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els 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 tècnicament no és obligatori, normalment utilitzes 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 tècnicament no és obligatori, normalment utilitzes 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. Aprèn sobre les opcions de tipus d'enllaç per filtrar registres relacionats |
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
Estableix valors tant per als from atributs and to no són tècnicament necessaris.
Nota
Les columnes que especifiquis als
fromatributs itohan de ser del mateix tipus. Dataverse no suporta l'ús de diferents tipus de columnes. Quan les columnes no són del mateix tipus, la infraestructura de Dataverse pot forçar una conversió, però aquesta pràctica pot suposar una penalització significativa en el rendiment.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 utilitzes cap d'aquests atributs, i existeix una relació de molts a molts entre les dues taules, Dataverse selecciona els valors clau adequats utilitzant aquesta relació.
Si només especifiques un dels from atributs o to , Dataverse intenta esbrinar la relació correcta utilitzant les definicions de l'esquema de relacions entre les dues taules.
Si no, obtens 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 tipus enllaç per filtrar registres relacionats
Utilitza link-type per filtrar els 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. |