Jagamisviis:


link-entity element

Ühendab olemi või lingitava olemiga seotud tabeli, et tagastada tulemiga täiendavad veerud. Kasutatakse ka filtrielementidegaseotud tabelite veeruväärtustele tingimuste rakendamiseks.

Siit saate teada, kuidas ühendada tabeleid fetchXml-i abil.

Näited

Järgmistes näidetes kirjeldatakse eri tüüpi seoste kasutamist link-entity .

Mitu-ühele seos

See päring tagastab konto - ja kontaktitabelite andmed kontokirje veeru PrimaryContactId otsinguveeru põhjal:

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

Üks-mitmele seos

See päring tagastab andmed kontakti - ja kontotabelitest , mis põhinevad seosel Kontakt account_primary_contact üks-mitmele.

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

Mitu-mitmele seos

See päring tagastab andmed SystemUser ja Team tabelitest , kasutades teammembership_association mitu-mitmele seost.

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

Atribuudid

Nimetus Kas on nõutav? Kirjeldus
name Ja Seotud tabeli loogikanimi.
to No Emaelemendi veeru loogikanimi , mis ühtib atribuudis from määratud seotud tabeliveeruga. Kuigi see pole tehniliselt vajalik, kasutatakse seda atribuuti tavaliselt.
from No Seotud tabeli veeru loogikanimi, mis vastab atribuudis määratud veerule to . Kuigi see pole tehniliselt vajalik, kasutatakse seda atribuuti tavaliselt.
alias No Tähistab seotud tabeli nime. Kui te pseudonüümi ei määra, luuakse teile pseudonüüm, mis tagab, et kõigil veergudel on kordumatud nimed, kuid te ei saa seda pseudonüümi kasutada xml-i toomise muudes osades olevale lingiolemile viitamiseks. Automaatselt loodud pseudonüümid kasutavad mustrit {LogicalName}+{N}, kus N on link-olemi järjenumber XML-is alates 1.
link-type No Lingi kasutamise tüüp. Vaikekäitumine on sisemine. Lisateave lingitüübi suvandite kohta
intersect No Näitab, et seda link-entity kasutatakse tabelite ühendamiseks ja mitte tagastamiseks, tavaliselt mitmele seose jaoks. Selle atribuudi olemasolu ei muuda päringu käivitamist. Selle atribuudi võite tabeliga liitumisel oma link-entity atribuudile lisada, kuid ei sisalda ühtegi atribuudielementi , mis näitaks, et see on tahtlik.

Kasutamine from ja to atribuudid

Kõige parem on määrata väärtused nii atribuudile from kui ka to atribuudile. Mõlemat atribuuti kasutatakse tavaliselt vastendatavate veergude täpseks määratlemiseks. Siiski from pole atribuudid ja to atribuudid tehniliselt nõutavad.

Märkus.

Kui te ei kasuta kumbagi neist atribuutidest ja nende kahe tabeli vahel on süsteemi mitu-mitmele seos, valib Dataverse selle seose abil sobivad võtmeväärtused.

Kui määrate ainult ühe from or-atribuutidest to , proovib Dataverse välja selgitada õige seose, kasutades kahe tabeli vahelisi seoseskeemimääratlusi.

Vastasel juhul kuvatakse järgmine tõrketeade:

Kood: 0x80041102
Sõnum: 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.

Näiteks kasutavad mõlemad päringud teammembership_association mitu-mitmele seost süsteemikasutaja ja meeskonnatöö tabelite vahel. Sel juhul saab Dataverse välja from töötada atribuudid ja to ja link-entity see, mis määrab ristumistabeli, pole vajalik.

Määra kõik atribuudid

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

Luba andmevastal valida

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

Kasutage seda link-type filtrite rakendamiseks tagastatud kirjetele. Järgmises tabelis kirjeldatakse kehtivaid link-type väärtusi.

Nimetus Kirjeldus
inner Vaikesätted. Piirab tulemid mõlema tabeli vastavate väärtustega ridadega.
outer Kaasab tulemid emaelemendilt, millel pole vastavat väärtust.
any Kasutage seda filtrielemendis. Piirab tulemid emaridadega lingitud olemi mis tahes vastendusridadega. any Teave seotud tabelite väärtuste filtreerimise kohta
not any Kasutage seda filtrielemendis. Piirab tulemid emaridadega, millel pole lingitud olemis vastavaid ridu. not any Teave seotud tabelite väärtuste filtreerimise kohta
all Kasutage seda filtrielemendis. Piirab tulemid emaridadega, kus lingitavas olemis on kattuva from veeruväärtusega read, kuid ükski neist vastendusridadest ei vasta selle lingitud olemi jaoks määratletud lisafiltritele. Peate pöörama täiendavad filtrid, et leida emaread, kus iga vastav lingitud olemirida vastab mõnele lisakriteeriumile. all Teave seotud tabelite väärtuste filtreerimise kohta
not all Kasutage seda filtrielemendis. Piirab tulemid emaridadega lingitud olemi mis tahes vastendusridadega. See lingitüüp on nimele vaatamata samaväärne any . not all Teave seotud tabelite väärtuste filtreerimise kohta
exists inner Variant, mis võib pakkuda jõudluse eeliseid. Kasutab klauslis tingimust whereEXISTS. Kasutage seda juhul, kui emarea mitu koopiat pole tulemites vajalikud. Lisateave eksisteerimise ja
in inner Variant, mis võib pakkuda jõudluse eeliseid. Kasutab klauslis IN-tingimustwhere. Kasutage seda juhul, kui emarea mitu koopiat pole tulemites vajalikud. Lisateave eksisteerimise ja
matchfirstrowusingcrossapply inner Variant, mis võib pakkuda jõudluse eeliseid. Kasutage seda tüüpi juhul, kui piisab ainult ühest lingitud olemi vastetava rea näitest ja tulemites pole emareast vaja mitut koopiat. Lisateave funktsiooni matchfirstrowusingcrossapply kohta

Emaelemendid

Nimetus Kirjeldus
Olemi Määrab toomiselemendi ehk päringu emaolemi tütarelemendi. Lubatud on ainult üks olem.
lingi-olem Ühendab olemi või lingitava olemiga seotud tabeli, et tagastada tulemiga rohkem veerge.

Tütarelemendid

Nimetus Sündmuste Kirjeldus
kõik-atribuudid 0 või 1 Näitab, et tagastatakse kõik veeruväärtused, mis pole nullväärtusega. See on sama, mis atribuudielementide mitte lisamine. Me ei soovita seda elementi enamikul juhtudel kasutada.
tunnus 0 või mitu Määrab päringuga tagastatava olemi või lingitava olemi veeru.
tellimus 0 või mitu Määrab tulemite ridade sortimisjärjestuse.
lingi-olem 0 või mitu Ühendab olemi või lingitava olemiga seotud tabeli, et tagastada tulemiga rohkem veerge.
filter 0 või 1 Saate määrata päringule rakendatavad olemi või lingitava olemi keerukad tingimused.