Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Sujungia lentelę, susijusią su subjektu arba saito subjektu , kad pateiktų papildomų stulpelių su rezultatu. Taip pat naudojama su filtro elementais norint taikyti sąlygas stulpelių reikšmėms susijusiose lentelėse.
Sužinokite, kaip sujungti lenteles naudojant "FetchXml".
Pavyzdžiai
Toliau pateikiami pavyzdžiai, kaip naudoti link-entity su skirtingų tipų ryšiais.
Ryšys "daugelis su vienu"
Ši užklausa pateikia duomenis iš kliento ir kontaktų lentelių, pagrįstų abonemento įrašo peržvalgos stulpeliu PrimaryContactId :
<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>
Ryšys "vienas su daugeliu"
Ši užklausa grąžina duomenis iš kontaktų ir klientų lentelių pagal ryšį Kontaktas account_primary_contact ryšį "vienas su daugeliu".
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Ryšys "daugelis su daugeliu"
Ši užklausa pateikia duomenis iš "SystemUser" ir "Team" lentelių naudojant ryšį "daugelis su daugeliu" teammembership_association.
<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>
Atributus
| Vardas, pavadinimas | Būtina? | Aprašas |
|---|---|---|
name |
Taip | Loginis susijusios lentelės pavadinimas. |
to |
Ne | Pirminio elemento stulpelio loginis pavadinimas , atitinkantis atribute from nurodytą susijusios lentelės stulpelį.
Nors techniškai nebūtina, šis atributas paprastai naudojamas. |
from |
Ne | Loginis stulpelio iš susijusios lentelės, atitinkančio atribute nurodytą stulpelį, to pavadinimas.
Nors techniškai nebūtina, šis atributas paprastai naudojamas. |
alias |
Ne | Nurodo susijusios lentelės pavadinimą. Jei nenustatysite pseudonimo, vienas bus sugeneruotas, kad užtikrintumėte, jog visi stulpeliai turi unikalius pavadinimus, bet šio pseudonimo negalėsite naudoti nuorodai į saito objektą kitose iškvietimo XML dalyse. Automatiškai sugeneruoti pseudonimai naudoja šabloną {LogicalName}+{N}, kur N yra nuoseklus saito subjekto numeris iškvietimo XML nuo 1. |
link-type |
Ne | Saito naudojimo tipas. Numatytasis veikimas yra vidinis. Sužinokite apie saito tipo parinktis |
intersect |
Ne | Nurodo, kad link-entity naudojama lentelėms sujungti ir nepateikti jokių stulpelių, paprastai ryšiui "daugelis su daugeliu". Šio atributo buvimas nekeičia užklausos vykdymo. Šį atributą galite įtraukti į savo link-entity , kai prisijungiate prie lentelės, bet neįtraukite jokių atributų elementų , kurie parodytų, kad tai tyčia. |
Naudojimas from ir to atributai
Geriausia nustatyti ir from atributų, ir to atributų reikšmes. Abu šie atributai paprastai naudojami aiškiai apibrėžti stulpelius, kurie turi atitikti. Tačiau fromto ir atributai nėra techniškai būtini.
Pastaba.
Svarbu, kad stulpelyje ir
toatributuosefromnurodyti stulpeliai būtų to paties tipo. Skirtingų tipų stulpelių naudojimas nepalaikomas. Kai stulpeliai nėra to paties tipo, "Dataverse" infrastruktūra gali turėti galimybę priverstinai konvertuoti, tačiau dėl šios praktikos gali būti padaryta didelė bauda už efektyvumą.FetchXml atributų
fromirtoatributų reikšmė yra priešinga atitinkamoms ypatybėms LinkEntity.LinkFromAttributeName ir LinkEntity.LinkToAttributeName , naudojamoms kuriant užklausas naudojant QueryExpression.
Jei nenaudojate nė vieno iš šių atributų ir tarp dviejų lentelių yra sistemos "daugelis su daugeliu" ryšys, "Dataverse" pasirenka atitinkamas pagrindines reikšmes naudodama tą ryšį.
Jei nurodysite tik vieną iš from atributų, to "Dataverse" bandys išsiaiškinti teisingą ryšį naudodama ryšio schemos apibrėžimus tarp dviejų lentelių.
Kitu atveju gausite šį klaidos pranešimą:
Kodas:
0x80041102
Pranešimas: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.
Pavyzdžiui, abi šios užklausos naudoja teammembership_association ryšį "daugelis su daugeliu" tarp sistemosvartotojo ir komandos lentelių. Šiuo atveju "Dataverse" gali dirbti from su atributais ir tolink-entity nurodyti susikirtimo lentelę nebūtina.
Nurodyti visus atributus
<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>
Leisti "Dataverse" pasirinkti
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
saito tipo parinktys
Naudokite link-type grąžinamų įrašų filtrams taikyti. Šioje lentelėje aprašomos galiojančios link-type reikšmės:
| Vardas, pavadinimas | Aprašas |
|---|---|
inner |
Numatytoji reikšmė. Apriboja rezultatus iki eilučių, kurių reikšmės abiejose lentelėse sutampa. |
outer |
Apima rezultatus iš pirminio elemento, kuris neturi sutampančios reikšmės. |
any |
Naudokite tai filtro elemente. Apriboja rezultatus iki pirminių eilučių su bet kokiomis sutampančios susieto objekto eilutėmis.
Sužinokite, kaip filtruoti any susijusių lentelių reikšmes |
not any |
Naudokite tai filtro elemente. Apriboja rezultatus iki pirminių eilučių be atitinkančių eilučių susietame objekte.
Sužinokite, kaip filtruoti not any susijusių lentelių reikšmes |
all |
Naudokite tai filtro elemente. Apriboja rezultatus iki pirminių eilučių, kuriose eilutės su atitinkančia from stulpelio reikšme yra saito objekte, bet nė viena iš atitinkančių eilučių neatitinka papildomų filtrų, apibrėžtų šiam saito objektui. Norėdami rasti pirmines eilutes, kuriose kiekviena atitinkanti saito objekto eilutė atitinka kai kuriuos papildomus kriterijus, turite apversti papildomus filtrus.
Sužinokite, kaip filtruoti all susijusių lentelių reikšmes |
not all |
Naudokite tai filtro elemente. Apriboja rezultatus iki pirminių eilučių su bet kokiomis sutampančios susieto objekto eilutėmis. Šis saito tipas atitinka any nepaisant pavadinimo.
Sužinokite, kaip filtruoti not all susijusių lentelių reikšmes |
exists |
Variantas inner , kuris gali suteikti našumo pranašumų. Sąlygoje where naudojama sąlyga EXISTS. Naudokite tai, kai rezultatuose nereikia kelių pirminės eilutės kopijų.
Sužinokite daugiau apie egzistuoja ir dalyje |
in |
Variantas inner , kuris gali suteikti našumo pranašumų. Sąlygoje where naudojama sąlyga IN. Naudokite tai, kai rezultatuose nereikia kelių pirminės eilutės kopijų.
Sužinokite daugiau apie egzistuoja ir dalyje |
matchfirstrowusingcrossapply |
Variantas inner , kuris gali suteikti našumo pranašumų. Naudokite šį tipą, kai pakanka vieno susieto objekto sutampančios eilutės pavyzdžio ir nereikia kelių pirminės eilutės kopijų rezultatuose.
Sužinokite daugiau apie matchfirstrowusingcrossapply |
Pirminiai elementai
| Vardas, pavadinimas | Aprašas |
|---|---|
| subjektas | Nurodo antrinį užklausos iškvietimo elemento elementą – pirminį objektą. Leidžiamas tik vienas objektas. |
| saito subjektas | Sujungia lentelę, susijusią su subjektu arba saito subjektu , kad pateiktų daugiau stulpelių su rezultatu. |
Antriniai elementai
| Vardas, pavadinimas | Įvykių | Aprašas |
|---|---|---|
| visi atributai | 0 arba 1 | Nurodo, kad pateikiamos visos kiekvienos eilutės ne nulinės stulpelių reikšmės. Tai tas pats, kaip nepridedant jokių atributų elementų. Daugeliu atvejų nerekomenduojame naudoti šio elemento. |
| Atributas | 0 arba daug | Nurodo subjekto arba saito subjekto stulpelį, kurį reikia grąžinti su užklausa. |
| įsakymas | 0 arba daug | Nurodo rezultatų eilučių rikiavimo tvarką. |
| saito subjektas | 0 arba daug | Sujungia lentelę, susijusią su subjektu arba saito subjektu , kad pateiktų daugiau stulpelių su rezultatu. |
| filtras | 0 arba 1 | Nurodykite sudėtingas objekto arba saito subjekto , kuris bus taikomas užklausai, sąlygas. |