Dalīties caur


saites entītijas elements

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 Saistītās tabulas loģiskais nosaukums.
to 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 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 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 Saites izmantošanas veids. Noklusējuma darbība ir iekšēja. Uzziniet par saites tipa opcijām
intersect 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

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>

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.