Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ansluter en tabell som är relaterad till entiteten eller länkentiteten för att returnera ytterligare kolumner med resultatet. Används också med filterelement för att tillämpa villkor på kolumnvärden i relaterade tabeller.
Lär dig hur du ansluter tabeller med Hjälp av FetchXml.
Examples
Följande exempel visar användning med link-entity olika typer av relationer.
Många-till-en-relation
Den här frågan returnerar data från konto- och kontakttabellerna baserat på kolumnen PrimaryContactId-sökning i kontoposten:
<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>
En-till-många-relation
Den här frågan returnerar data från kontakt- och kontotabellerna baserat på relationen Kontakt account_primary_contact en-till-många.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Många-till-många-relation
Den här frågan returnerar data från SystemUser- och Team-tabellerna med hjälp av teammembership_association många-till-många-relation.
<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>
Attributes
| Namn | Krävs? | Description |
|---|---|---|
name |
Yes | Det logiska namnet på relaterad tabell. |
to |
Nej | Det logiska namnet på kolumnen i det överordnade elementet som ska matchas med den relaterade tabellkolumnen from som anges i attributet.
Även om det inte är tekniskt nödvändigt används det här attributet vanligtvis. |
from |
Nej | Det logiska namnet på kolumnen från den relaterade tabellen som matchar den kolumn som anges i to attributet.
Även om det inte är tekniskt nödvändigt används det här attributet vanligtvis. |
alias |
Nej | Representerar namnet på den relaterade tabellen. Om du inte anger ett alias genereras ett för dig för att säkerställa att alla kolumner har unika namn, men du kommer inte att kunna använda det aliaset för att referera till länkentiteten i andra delar av XML-hämtningen. De automatiskt genererade aliasen använder mönstret {LogicalName}+{N}, där N är det sekventiella numret för länkentiteten i hämtnings-XML från och med 1. |
link-type |
Nej | Typ av länkanvändning. Standardbeteendet är inre. Läs mer om alternativ av länktyp |
intersect |
Nej | Anger att link-entity används för att koppla tabeller och inte returnera några kolumner, vanligtvis för en många-till-många-relation. Förekomsten av det här attributet ändrar inte frågekörningen. Du kan lägga till link-entity det här attributet när du ansluter till en tabell, men ta inte med några attributelement för att visa att detta är avsiktligt. |
Använda from och to attribut
Det är bäst att ange värden för både attributen from och to . Båda dessa attribut används vanligtvis för att explicit definiera de kolumner som ska matchas. Attributen from och to krävs dock inte tekniskt.
Anmärkning
Det är viktigt att de kolumner som anges i attributen
fromochtoär av samma typ. Det går inte att använda olika kolumntyper. När kolumnerna inte är av samma typ kan Dataverse-infrastrukturen tvinga fram en konvertering, men den här metoden kan resultera i en betydande prestandaavgift.Innebörden av attributen
fromochtoi FetchXml är motsatsen till motsvarande LinkEntity.LinkFromAttributeName - och LinkEntity.LinkToAttributeName-egenskaper som används när frågor skapas med QueryExpression.
Om du inte använder något av dessa attribut, och det finns en system många-till-många-relation mellan de två tabellerna, väljer Dataverse lämpliga nyckelvärden med den relationen.
Om du bara anger ett av attributen from eller to försöker Dataverse ta reda på rätt relation med hjälp av relationsschemadefinitionerna mellan de två tabellerna.
Annars får du följande fel:
Kod:
0x80041102
Meddelande: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.
Båda dessa frågor använder till exempel teammembership_association många-till-många-relation mellan systemanvändare och teamtabeller . I det här fallet kan Dataverse räkna ut attributen from och to och link-entity som anger att korstabellen inte behövs.
Ange alla attribut
<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>
Låt Dataverse välja
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
alternativ av länktyp
Använd link-type för att tillämpa filter på de poster som returneras. I följande tabell beskrivs giltiga link-type värden:
| Namn | Description |
|---|---|
inner |
Default. Begränsar resultatet till rader med matchande värden i båda tabellerna. |
outer |
Innehåller resultat från det överordnade elementet som inte har något matchande värde. |
any |
Använd detta i ett filterelement. Begränsar resultatet till överordnade rader med matchande rader i den länkade entiteten.
Lär dig att använda any för att filtrera värden i relaterade tabeller |
not any |
Använd detta i ett filterelement. Begränsar resultatet till överordnade rader utan matchande rader i den länkade entiteten.
Lär dig att använda not any för att filtrera värden i relaterade tabeller |
all |
Använd detta i ett filterelement. Begränsar resultatet till överordnade rader där rader med matchande from kolumnvärde finns i länkentiteten, men ingen av de matchande raderna uppfyller de ytterligare filter som definierats för den här länkentiteten. Du måste invertera ytterligare filter för att hitta överordnade rader där varje matchande länkentitetsrad uppfyller några ytterligare villkor.
Lär dig att använda all för att filtrera värden i relaterade tabeller |
not all |
Använd detta i ett filterelement. Begränsar resultatet till överordnade rader med matchande rader i den länkade entiteten. Den här länktypen motsvarar any trots namnet.
Lär dig att använda not all för att filtrera värden i relaterade tabeller |
exists |
En variant av inner detta kan ge prestandafördelar. Använder ett EXISTS-villkor i where -satsen. Använd detta när flera kopior av den överordnade raden inte behövs i resultatet.
Läs mer om finns och finns i |
in |
En variant av inner detta kan ge prestandafördelar. Använder ett IN-villkor i where -satsen. Använd detta när flera kopior av den överordnade raden inte behövs i resultatet.
Läs mer om finns och finns i |
matchfirstrowusingcrossapply |
En variant av inner detta kan ge prestandafördelar. Använd den här typen när endast ett enda exempel på en matchande rad från den länkade entiteten räcker och flera kopior av den överordnade raden i resultatet inte behövs.
Läs mer om matchfirstrowusingcrossapply |
Överordnade element
| Namn | Description |
|---|---|
| enhet | Anger det underordnade elementet för ett hämtningselement, den överordnade entiteten för frågan. Endast en entitet tillåts. |
| link-entity | Ansluter en tabell som är relaterad till entiteten eller länkentiteten för att returnera fler kolumner med resultatet. |
Underordnade element
| Namn | Händelser | Description |
|---|---|---|
| alla attribut | 0 eller 1 | Anger att alla kolumnvärden som inte är null för varje rad returneras. Det är samma sak som att inte lägga till några attributelement. Vi rekommenderar inte att du använder det här elementet i de flesta fall. |
| attribut | 0 eller många | Anger en kolumn från en entitet eller länkentitet som ska returneras med en fråga. |
| ordning | 0 eller många | Anger en sorteringsordning för raderna i resultatet. |
| link-entity | 0 eller många | Ansluter en tabell som är relaterad till entiteten eller länkentiteten för att returnera fler kolumner med resultatet. |
| filtrera | 0 eller 1 | Ange komplexa villkor för en entitet eller länkentitet som ska tillämpas på en fråga. |