Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Ü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.
Oluline on, et atribuudis
fromjatoatribuudid määratud veerud oleksid sama tüüpi. Erinevate veerutüüpide kasutamine pole toetatud. Kui veerud pole sama tüüpi, on võimalik, et andmevahetuse taristu saab jõustada teisenduse, kuid see tava võib kaasa tuua märkimisväärse jõudluskaristuse.FetchXml-i atribuutide ja tähendused
fromon vastupidised vastavatele atribuutidele LinkEntity.LinkFromAttributeName ja LinkEntity.LinkToAttributeName, mida kasutatakse päringute koostamiseks QueryExpressioni abil.to
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>
lingitüübi suvandid
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. |