Jaa


link-entiteetti-elementti

Liittää entiteettiin tai linki-entiteettiin liittyvän taulukon ja palauttaa lisää tuloksen sisältäviä sarakkeita. Käytetään myös suodatinelementtien kanssa ehtojen soveltamiseksi sarakkeiden arvoihin liittyvissä taulukoissa.

Lue, miten voit liittää taulukoita FetchXml:n avulla.

Esimerkit

Seuraavissa esimerkeissä näytetään käyttö link-entity käyttäen erityyppisiä suhteita.

Monta yhteen -suhde

Tämä kysely palauttaa tietoja tili - ja yhteystietotaulukoista tilitietueen PrimaryContactId-hakusarakkeen perusteella:

<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>

Yksi moneen -suhde

Tämä kysely palauttaa tietoja yhteystieto - ja tilitaulukoistaContact account_primary_contact yksi moneen -suhteen perusteella.

<fetch>
  <entity name='contact'>
    <attribute name='fullname' />
    <link-entity name='account' 
     from='primarycontactid' 
     to='contactid' 
     alias='account'>
      <attribute name='name' />
    </link-entity>
  </entity>
</fetch>

Monta moneen -suhde

Tämä kysely palauttaa tietoja SystemUser- ja Team-taulukoista käyttämällä teammembership_association monta moneen -suhdetta.

<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>

Määritteet

Nimi Onko pakollinen? Description
name Kyllä Liittyvän taulukon looginen nimi.
to Ei Pääelementin sarakkeen looginen nimi, joka vastaa määritteessä from määritettyä liittyvän taulukon saraketta. Tätä määritettä käytetään yleensä, vaikka sitä ei teknisesti tarvita.
from Ei Sen liittyvän taulukon sarakkeen looginen nimi, joka vastaa määritteessä määritettyä to saraketta. Tätä määritettä käytetään yleensä, vaikka sitä ei teknisesti tarvita.
alias Ei Edustaa liittyvän taulukon nimeä. Jos et määritä aliasta, se luodaan puolestasi, jotta kaikilla sarakkeilla on yksilölliset nimet. Et kuitenkaan voi käyttää aliasta viittaamaan linkkientiteettiin noudetun XML:n muissa osissa. Automaattisesti luodut aliakset käyttävät mallia {LogicalName}+{N}, jossa N on link-entiteetin peräkkäinen numero fetch XML:ssä alkaen luvusta 1.
link-type Ei Linkin käyttämän tyypin. Oletustoiminta on sisempi. Lue lisätietoja linkkityyppiasetuksista
intersect Ei Ilmaisee, että kohdetta link-entity käytetään taulukoiden liittämiseen eikä sarakkeiden palauttamiseen, yleensä monta moneen -suhteessa. Tämän määritteen olemassaolo ei muuta kyselyn suorittamista. Voit lisätä tämän määritteen link-entity osi, kun liityt taulukkoon, mutta et sisällä määriteelementtejä , jotka osoittaisit, että tämä on tarkoituksellista.

Käyttö from ja to määritteet

-ja -määritteiden arvot fromto kannattaa määrittää. Molempia määritteitä käytetään yleensä määrittämään sarakkeet, jotka vastaavat toisiaan. - ja to -frommääritteet eivät kuitenkaan ole teknisesti pakollisia.

Note

Jos et käytä kumpaakaan näistä määritteistä ja taulukoiden välillä on järjestelmän monta moneen -yhteys, Dataverse valitsee oikeat avainarvot kyseistä suhdetta käyttämällä.

Jos määrität vain yhden - from tai to -määritteistä, Dataverse yrittää selvittää oikean suhteen kahden taulukon välisten suhderakenteen määritelmien avulla.

Muussa tapauksessa näkyviin tulee seuraava virhe:

Koodi: 0x80041102
Viesti: 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.

Kummassakin näistä kyselyistä käytetään esimerkiksi systemuser- ja tiimitaulukoidenteammembership_association monta moneen -suhdetta. Tässä tapauksessa Dataverse voi määrittää - ja to -frommääritteet, eikä link-entity leikkaa-taulukkoa tarvita.

Määritä kaikki määritteet

<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>

Anna Dataversen valita

<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>

Käytä link-type tätä suodattimien käyttöön palautettaessa tietueissa. Kelvolliset link-type arvot kuvataan seuraavassa taulukossa:

Nimi Description
inner Oletus. Rajoittaa tulokset riveille, joilla on vastaavat arvot molemmissa taulukoissa.
outer Sisältää pääelementin tulokset, joilla ei ole vastaavaa arvoa.
any Käytä tätä suodatinelementissä. Rajoittaa tulokset pääriveille linkitetyn entiteetin vastaavilla riveillä. Opi käyttämään -toimintoa any liittyvien taulukoiden arvojen suodattamiseen
not any Käytä tätä suodatinelementissä. Rajoittaa tulokset pääriveille, joilla ei ole vastaavia rivejä linkitetyssä entiteetissä. Opi käyttämään -toimintoa not any liittyvien taulukoiden arvojen suodattamiseen
all Käytä tätä suodatinelementissä. Rajoittaa tulokset pääriveille, joissa linkin entiteetissä on rivejä, joilla on vastaava from sarakearvo, mutta yksikään näistä vastaavista riveistä ei täytä tälle linkkientiteetille määritettyjä lisäsuodattimia. Sinun on käännettävä lisäsuodattimet löytääksesi päärivejä, joissa jokainen vastaava linkin entiteetin rivi täyttää joitakin lisäehtoja. Opi käyttämään -toimintoa all liittyvien taulukoiden arvojen suodattamiseen
not all Käytä tätä suodatinelementissä. Rajoittaa tulokset pääriveille linkitetyn entiteetin vastaavilla riveillä. Tämä linkkityyppi vastaa any nimestä huolimatta. Opi käyttämään -toimintoa not all liittyvien taulukoiden arvojen suodattamiseen
exists Muunnos inner , josta voi olla hyötyä suorituskykyyn. Käyttää EXISTS-ehtoa - where lausekkeessa. Käytä tätä, kun päärivin useita kopioita ei ole tarpeen tuloksissa. Lisätietoja on olemassa ja
in Muunnos inner , josta voi olla hyötyä suorituskykyyn. Käyttää IN-ehtoa - where lausekkeessa. Käytä tätä, kun päärivin useita kopioita ei ole tarpeen tuloksissa. Lisätietoja on olemassa ja
matchfirstrowusingcrossapply Muunnos inner , josta voi olla hyötyä suorituskykyyn. Käytä tätä tyyppiä, kun vain yksi esimerkki linkitetyn entiteetin vastaavasta rivistä riittää eikä tulosten päärivistä ole useita kopioita. Lisätietoja matchfirstrowusingcrossapplysta

Pääelementit

Nimi Description
kokonaisuus Määrittää noutoelementin alielementin, kyselyn pääentiteetin. Vain yksi entiteetti sallitaan.
link-entity Liittää entiteettiin tai linkkientiteettiin liittyvän taulukon ja palauttaa tuloksessa enemmän sarakkeita.

Alielementit

Nimi Tapahtumia Description
all-attributes 0 tai 1 Ilmaisee, että jokaisen rivin kaikki muut kuin tyhjäarvot palautetaan. Tämä vastaa määrite-elementtien lisäämistä. Emme suosittele tämän elementin käyttämistä useimmissa tapauksissa.
ominaisuus 0 tai monta Määrittää sarakkeen entiteetistä tai linkittävästä entiteetistä palautettavaksi kyselyn kanssa.
tilata 0 tai monta Määrittää tulosten rivien lajittelujärjestyksen.
link-entity 0 tai monta Liittää entiteettiin tai linkkientiteettiin liittyvän taulukon ja palauttaa tuloksessa enemmän sarakkeita.
suodatin 0 tai 1 Määritä monimutkaisia ehtoja kyselylle käytettävälle entiteetille tai linki-entiteetille .