Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az entitáshoz vagy a csatolási entitáshoz kapcsolódó táblát összekapcsolva további oszlopokat ad vissza az eredményhez. Szűrőelemekkel is használható a kapcsolódó táblák oszlopértékekre vonatkozó feltételeinek alkalmazásához.
Megtudhatja, hogyan illeszthet össze táblákat a FetchXml használatával.
Példák
Az alábbi példák különböző típusú kapcsolatok használatát link-entity mutatják be.
Több az egyhez kapcsolat
Ez a lekérdezés a fiók - és partnertáblák adatait adja vissza a fiókrekord PrimaryContactId keresési oszlopa alapján:
<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>
Egy-a-többhöz kapcsolat
Ez a lekérdezés a partner - és fióktáblák adatait adja vissza a Partner account_primary_contact egy-a-többhöz kapcsolat alapján.
<fetch>
<entity name='contact'>
<attribute name='fullname' />
<link-entity name='account'
from='primarycontactid'
to='contactid'
alias='account'>
<attribute name='name' />
</link-entity>
</entity>
</fetch>
Több-a-többhöz kapcsolat
Ez a lekérdezés a SystemUser és a Team táblák adatait adja vissza a teammembership_association több-a-többhöz kapcsolat használatával.
<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
| Név | Szükséges? | Description |
|---|---|---|
name |
Igen | A kapcsolódó tábla logikai neve. |
to |
Nem | A szülőelem oszlopának logikai neve, amely megfelel az attribútumban from megadott kapcsolódó táblaoszlopnak.
Bár technikailag nem szükséges, ezt az attribútumot általában használják. |
from |
Nem | Az attribútumban megadott oszlopnak megfelelő kapcsolódó tábla oszlopának to logikai neve.
Bár technikailag nem szükséges, ezt az attribútumot általában használják. |
alias |
Nem | A kapcsolódó tábla nevét jelöli. Ha nem állít be aliast, a rendszer létrehoz egyet, hogy az összes oszlop egyedi névvel rendelkezzen, de az alias használatával nem hivatkozhat a hivatkozási entitásra a beolvasási XML más részeiben. Az automatikusan létrehozott aliasok a mintát {LogicalName}+{N}használják, ahol N a beolvasási XML-ben a csatolási entitás sorszáma 1-től kezdődik. |
link-type |
Nem | A hivatkozás használatának típusa. Az alapértelmezett viselkedés belső. További információ a hivatkozástípus beállításairól |
intersect |
Nem | Azt jelzi, hogy a link-entity táblák összekapcsolására szolgál, és nem ad vissza oszlopokat, jellemzően több-a-többhöz kapcsolat esetén. Az attribútum megléte nem változtatja meg a lekérdezés végrehajtását. Ezt az attribútumot hozzáadhatja a link-entity táblához való csatlakozáskor, de nem tartalmaz attribútumelemeket , amelyek azt mutatják, hogy ez szándékos. |
Használat from és to attribútumok
A legjobb, ha az értékeket mind az attribútumokhoz, mind pedig az fromto attribútumokhoz beállítja. Mindkét attribútumot általában az egyező oszlopok explicit meghatározására használják. Az és to az from attribútumok azonban technikailag nem szükségesek.
Megjegyzés:
Fontos, hogy a megadott
fromoszlopok éstoattribútumok azonos típusúak legyenek. A különböző oszloptípusok használata nem támogatott. Ha az oszlopok nem azonos típusúak, előfordulhat, hogy a Dataverse-infrastruktúra kényszerítheti az átalakítást, de ez a gyakorlat jelentős teljesítménybüntetést eredményezhet.A FetchXmlben a
fromtomegfelelő LinkEntity.LinkFromAttributeName és LinkEntity.LinkToAttributeName tulajdonságok ellentéte, amelyeket lekérdezések QueryExpression használatával történő írásakor használnak.
Ha egyik attribútumot sem használja, és a két tábla között több-a-többhöz rendszerkapcsolat áll fenn, a Dataverse kiválasztja a megfelelő kulcsértékeket a kapcsolat használatával.
Ha csak az egyiket from vagy to attribútumot adja meg, a Dataverse a két tábla közötti kapcsolatséma-definíciók használatával megpróbálja kitalálni a helyes kapcsolatot.
Ellenkező esetben a következő hibaüzenet jelenik meg:
Kód:
0x80041102
Üzenet: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.
Mindkét lekérdezés például a systemuser és a csapattáblákközötti teammembership_association több-a-többhöz kapcsolatot használja. Ebben az esetben a Dataverse ki tudja dolgozni az és to az from attribútumokat, és link-entity a metszettáblát meghatározó nem szükséges.
Az összes attribútum megadása
<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>
A Dataverse választásának lehetősége
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
hivatkozástípus beállításai
Szűrők link-type alkalmazása a visszaadott rekordokra. Az alábbi táblázat az érvényes link-type értékeket írja le:
| Név | Description |
|---|---|
inner |
Default. Az eredményeket a két táblában egyező értékekkel rendelkező sorokra korlátozza. |
outer |
Olyan szülőelem eredményeit tartalmazza, amelyek nem rendelkeznek egyező értékkel. |
any |
Használja ezt egy szűrőelemen belül. Az eredményeket a csatolt entitás összes egyező sorával rendelkező szülősorokra korlátozza.
Ismerje meg, hogyan szűrheti any az értékeket a kapcsolódó táblákon |
not any |
Használja ezt egy szűrőelemen belül. Az eredményeket olyan szülősorokra korlátozza, amelyekben nincsenek egyező sorok a csatolt entitásban.
Ismerje meg, hogyan szűrheti not any az értékeket a kapcsolódó táblákon |
all |
Használja ezt egy szűrőelemen belül. Az eredményeket olyan szülősorokra korlátozza, amelyekben egyező from oszlopértékkel rendelkező sorok találhatók a csatolási entitásban, de egyik egyező sor sem felel meg a hivatkozási entitáshoz definiált további szűrőknek. A további szűrőket invertálásával olyan szülősorokat kell keresnie, amelyekben minden egyező csatolási entitássor megfelel néhány további feltételnek.
Ismerje meg, hogyan szűrheti all az értékeket a kapcsolódó táblákon |
not all |
Használja ezt egy szűrőelemen belül. Az eredményeket a csatolt entitás összes egyező sorával rendelkező szülősorokra korlátozza. Ez a hivatkozástípus a név ellenére egyenértékű any .
Ismerje meg, hogyan szűrheti not all az értékeket a kapcsolódó táblákon |
exists |
Ennek egy inner változata teljesítménybeli előnyöket biztosíthat. A záradékban egy EXISTS feltételt where használ. Ezt akkor használja, ha a szülősor több példánya nem szükséges az eredményekben.
További információ a létezőkről és a |
in |
Ennek egy inner változata teljesítménybeli előnyöket biztosíthat.
In feltételt használ a where záradékban. Ezt akkor használja, ha a szülősor több példánya nem szükséges az eredményekben.
További információ a létezőkről és a |
matchfirstrowusingcrossapply |
Ennek egy inner változata teljesítménybeli előnyöket biztosíthat. Ezt a típust akkor használja, ha a csatolt entitásból csak egy egyező sor egyetlen példája elegendő, és az eredmények szülősorának több példánya nem szükséges.
További információ a matchfirstrowusingcrossapplyról |
Szülőelemek
| Név | Description |
|---|---|
| entitás | Megadja a lekérdezéshez tartozó beolvasási elem gyermekelemét, a lekérdezés "szülő entitását". Csak egy entitás engedélyezett. |
| link-entity | Összekapcsol egy , az entitáshoz vagy a csatolási entitáshoz kapcsolódó táblát, hogy több oszlopot adjon vissza az eredményhez. |
Gyermekelemek
| Név | Események | Description |
|---|---|---|
| all-attribútumok | 0 vagy 1 | Azt jelzi, hogy az egyes sorok összes nem null oszlopértékét visszaadja a rendszer. Ugyanaz, mintha nem ad hozzá attribútumelemeket. A legtöbb esetben nem javasoljuk, hogy ezt az elemet használja. |
| attribútum | 0 vagy több | Egy entitásból vagy hivatkozási entitásból származó oszlopot ad meg, amely lekérdezéssel tér vissza. |
| megrendelés | 0 vagy több | Az eredmények sorainak rendezési sorrendjét adja meg. |
| link-entity | 0 vagy több | Összekapcsol egy , az entitáshoz vagy a csatolási entitáshoz kapcsolódó táblát, hogy több oszlopot adjon vissza az eredményhez. |
| szűrő | 0 vagy 1 | Adjon meg összetett feltételeket egy entitáshoz vagy hivatkozási entitáshoz , amely egy lekérdezésre alkalmazható. |