Megosztás:


link-entity elem

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:

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>

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