Piezīme
Lai piekļūtu šai lapai, nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Apvieno tabulu, kas saistīta ar entītiju vai saites entītiju , lai atgrieztu papildu kolonnas ar rezultātu. Izmanto arī ar filtra elementiem, lai lietotu nosacījumus kolonnu vērtībām saistītās tabulās.
Uzziniet, kā savienot tabulas, izmantojot FetchXml.
Piemēri
Tālāk sniegtajos piemēros ir parādīta lietošana link-entity ar dažādiem relāciju tipiem.
Attiecības daudzi pret vienu
Šis vaicājums atgriež datus no konta un kontaktpersonu tabulām, pamatojoties uz uzmeklēšanas kolonnu PrimaryContactId konta ierakstā:
<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>
Attiecības viens pret daudziem
Šis vaicājums atgriež datus no kontaktpersonu un klientu tabulām, pamatojoties uz relāciju Kontaktpersona account_primary_contact viens pret daudziem.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Attiecības daudzi pret daudziem
Šis vaicājums atgriež datus no tabulām SystemUser un Team , izmantojot relāciju teammembership_association daudzi pret daudziem.
<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>
Atribūti
| Vārds | Vai jānorāda obligāti? | Apraksts |
|---|---|---|
name |
Jā | Saistītās tabulas loģiskais nosaukums. |
to |
Nē | Vecākelementa kolonnas loģiskais nosaukums , kas atbilst saistītajai tabulas kolonnai, kas norādīta atribūtā from .
Lai gan šis atribūts nav tehniski nepieciešams, tas parasti tiek izmantots. |
from |
Nē | Saistītās tabulas kolonnas loģiskais nosaukums, kas atbilst atribūtā norādītajai kolonnai to .
Lai gan šis atribūts nav tehniski nepieciešams, tas parasti tiek izmantots. |
alias |
Nē | Apzīmē saistītās tabulas nosaukumu. Ja neiestatāt aizstājvārdu, tas tiks ģenerēts, lai nodrošinātu, ka visām kolonnām ir unikāli nosaukumi, bet jūs nevarēsit izmantot šo aizstājvārdu, lai atsauktos uz saites entītiju citās XML iegūšanas daļās. Automātiski ģenerētie aizstājvārdi izmanto modeli {LogicalName}+{N}, kur N ir saites vienības kārtas numurs iegūšanas XML, sākot no 1. |
link-type |
Nē | Saites izmantošanas veids. Noklusējuma darbība ir iekšēja. Uzziniet par saites tipa opcijām |
intersect |
Nē | Norāda, ka tas tiek izmantots, lai savienotu link-entity tabulas un neatgrieztu kolonnas, parasti relācijai daudzi pret daudziem. Šī atribūta esamība nemaina vaicājuma izpildi. Šo atribūtu var pievienot tabulai link-entity , pievienojoties tabulai, bet neiekļaut nekādus atribūta elementus , lai parādītu, ka tas ir apzināti. |
Lietošana from un to atribūti
Vislabāk ir iestatīt vērtības gan atribūtiem, from gan .to Abi šie atribūti parasti tiek izmantoti, lai skaidri definētu kolonnas, kas atbilst. Tomēr from un to atribūti nav tehniski nepieciešami.
Piezīmes
Ir svarīgi, lai atribūtos norādītās
fromkolonnas būtutovienāda tipa. Dažādu kolonnu tipu izmantošana netiek atbalstīta. Ja kolonnas nav vienāda tipa, Dataverse infrastruktūra var piespiest konvertēšanu, taču šī prakse var izraisīt ievērojamu veiktspējas zudumu.Un
tonozīmefromprogrammā FetchXml ir pretēja atbilstošajiem rekvizītiem LinkEntity.LinkFromAttributeName un LinkEntity.LinkToAttributeName, kas tiek izmantoti, veidojot vaicājumus, izmantojot QueryExpression.
Ja neizmantojat nevienu no šiem atribūtiem un starp abām tabulām pastāv sistēmas relācija daudzi pret daudziem, Dataverse atlasa atbilstošās atslēgas vērtības, izmantojot šo relāciju.
Ja norādāt tikai vienu no from vai to atribūtiem, Dataverse mēģina noskaidrot pareizo relāciju, izmantojot relāciju shēmas definīcijas starp abām tabulām.
Pretējā gadījumā tiek parādīts šāds kļūdas ziņojums:
Kods:
0x80041102
Ziņa: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.
Piemēram, abi šie vaicājumi izmanto relāciju teammembership_association daudzi pret daudziem starp systemuser un grupas tabulām. Šajā gadījumā Dataverse var izstrādāt un to atribūtus, from un link-entity tas, kas norāda krustojuma tabulu, nav nepieciešams.
Visu atribūtu norādīšana
<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>
Ļaujiet Dataverse izvēlēties
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
Saites tipa opcijas
Izmantojiet link-type , lai atgrieztajiem ierakstiem lietotu filtrus. Šajā tabulā ir aprakstītas derīgās link-type vērtības:
| Vārds | Apraksts |
|---|---|
inner |
Noklusējuma. Ierobežo rezultātus līdz rindām ar atbilstošām vērtībām abās tabulās. |
outer |
Ietver rezultātus no vecākelementa, kuriem nav atbilstošas vērtības. |
any |
Izmantojiet to filtra elementā. Ierobežo rezultātus līdz vecākrindām ar atbilstošām rindām saistītajā entītijā.
Uzziniet, kā filtrēt any vērtības saistītās tabulās |
not any |
Izmantojiet to filtra elementā. Ierobežo rezultātus līdz vecākrindām, kurās nav atbilstošu rindu saistītajā entītijā.
Uzziniet, kā filtrēt not any vērtības saistītās tabulās |
all |
Izmantojiet to filtra elementā. Ierobežo rezultātus līdz vecākrindām, kurās saites entītijā ir rindas ar atbilstošu from kolonnas vērtību, bet neviena no šīm atbilstošajām rindām neatbilst šai saites entītijai definētajiem papildu filtriem. Jums ir jāapgriež papildu filtri, lai atrastu vecākrindas, kurās katra atbilstošā saites entītijas rinda atbilst dažiem papildu kritērijiem.
Uzziniet, kā filtrēt all vērtības saistītās tabulās |
not all |
Izmantojiet to filtra elementā. Ierobežo rezultātus līdz vecākrindām ar atbilstošām rindām saistītajā entītijā. Šis saites veids ir līdzvērtīgs neskatoties uz any nosaukumu.
Uzziniet, kā filtrēt not all vērtības saistītās tabulās |
exists |
Tas var inner sniegt veiktspējas priekšrocības. Klauzulā izmanto nosacījumu EXISTSwhere. Izmantojiet šo opciju, ja rezultātos nav nepieciešamas vairākas vecākrindas kopijas.
Uzziniet vairāk par eksistenci un |
in |
Tas var inner sniegt veiktspējas priekšrocības. Izmanto nosacījumuwhere IN klauzulā. Izmantojiet šo opciju, ja rezultātos nav nepieciešamas vairākas vecākrindas kopijas.
Uzziniet vairāk par eksistenci un |
matchfirstrowusingcrossapply |
Tas var inner sniegt veiktspējas priekšrocības. Izmantojiet šo tipu, ja pietiek tikai ar vienu atbilstošas rindas piemēru no saistītās entītijas un nav nepieciešamas vairākas vecākrindas kopijas rezultātos.
Uzziniet vairāk par matchfirstrowusingcrossapply |
Vecākelementi
| Vārds | Apraksts |
|---|---|
| Entītijas | Norāda iegūšanas elementa bērnelementu, vaicājuma vecākentītiju. Ir atļauta tikai viena entītija. |
| saite-entītija | Apvieno tabulu, kas saistīta ar entītiju vai saites entītiju , lai atgrieztu vairāk kolonnu ar rezultātu. |
Bērnu elementi
| Vārds | Gadījumus | Apraksts |
|---|---|---|
| Visi atribūti | 0 vai 1 | Norāda, ka tiek atgrieztas visas kolonnas vērtības, kas nav nulles vērtības katrai rindai. Tas ir tas pats, kas nepievienot nekādus atribūta elementus. Vairumā gadījumu nav ieteicams izmantot šo elementu. |
| Atribūts | 0 vai daudz | Norāda kolonnu no entītijas vai saites entītijas , kas jāatgriež ar vaicājumu. |
| kārtība | 0 vai daudz | Norāda rezultātu rindu kārtošanas secību. |
| saite-entītija | 0 vai daudz | Apvieno tabulu, kas saistīta ar entītiju vai saites entītiju , lai atgrieztu vairāk kolonnu ar rezultātu. |
| filtrs | 0 vai 1 | Norādiet sarežģītus nosacījumus entītijai vai saites entītijai , kas jālieto vaicājumam. |