Partekatu honen bidez:


link-entity elementua

Entitatearekin edo esteka-entitatearekin erlazionatutako taula bat elkartzen du, emaitzarekin zutabe gehigarriak itzultzeko. Iragazki-elementuekin ere erabiltzen da erlazionatutako tauletako zutabe-balioei baldintzak aplikatzeko.

Ikasi FetchXML erabiliz taulak nola batu.

Adibideak

Ondorengo adibideak erlazio mota desberdinekin erabiltzea link-entity erakusten da.

Anitz-to-one harremana

Kontsulta honek kontu eta kontaktuen tauletako datuak itzultzen ditu, kontuaren erregistroko PrimaryContactId bilaketa-zutabean oinarrituta:

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

Bakarkako harremana

Kontsulta honek kontaktuen eta kontuen tauletako datuak itzultzen ditu, Kontaktua account_primary_contact bakarkako harremanean oinarrituta.

<fetch>
  <entity name='contact'>
    <attribute name='fullname' />
    <link-entity name='account' 
     from='primarycontactid' 
     to='contactid' 
     alias='account'>
      <attribute name='name' />
    </link-entity>
  </entity>
</fetch>

Askoren arteko harremana

Kontsulta honek SystemUser eta Team tauletako datuak itzultzen ditu teammembership_association askotaren erlazioa erabiliz.

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

Atributuak

Izena Beharrezkoa? Deskribapena
name Bai Erlazionatutako taularen izen logikoa.
to Ez Elementu gurasoko zutabearen izen logikoa , atributuan from zehaztutako taularen zutabearekin bat etortzeko. Teknikoki beharrezkoa ez den arren, ezaugarri hau erabili ohi da.
from Ez Erlazionatutako taulako zutabearen izen logikoa, atributuan to zehaztutako zutabearekin bat datorrena. Teknikoki beharrezkoa ez den arren, ezaugarri hau erabili ohi da.
alias Ez Erlazionatutako taularen izena adierazten du. Ez baduzu alias bat ezartzen, bat sortuko zaizu zutabe guztiek izen esklusiboak dituztela ziurtatzeko, baina ezingo duzu alias hori erabili esteka entitateari erreferentzia egiteko eskuratzeko XMLaren beste zati batzuetan. Automatikoki sortutako aliasek , eredua {LogicalName}+{N}erabiltzen dute, non N 1etik hasita eskuratu XML esteka-entitatearen zenbaki sekuentziala.
link-type Ez Esteka mota erabiltzea. Portaera lehenetsia barrukoa da. Esteka motaren aukerei buruz ikasi
intersect Ez Adierazten du taulak link-entity elkartzeko erabiltzen dela eta ez duela zutaberik itzultzen, normalean askoren aurkako erlazio baterako. Atributu honen existentziak ez du kontsultaren exekuzioa aldatzen. Taula batean sartzen zarenean atributu hau gehi diezaiokezu link-entity , baina ez sartu atributu-elementurik nahita dela erakusteko.

Erabilera from eta to atributuak

Hobe da eta atributuen fromto balioak ezartzea. Bi atributu hauek normalean erabiltzen dira bat datozen zutabeak esplizituki definitzeko. Hala ere, from eta to atributuak ez dira teknikoki beharrezkoak.

Oharra

Atributu horietako bat ere ez baduzu erabiltzen, eta bi taulen artean sistemaren asko-askoren arteko erlazioa badago, Dataverse-k gako-balio egokiak hautatuko ditu erlazio hori erabiliz.

Edo atributuetako fromto bakarra zehazten baduzu, Dataverse-k erlazio zuzena aurkitzen saiatuko da bi taulen arteko erlazio-eskemaren definizioak erabiliz.

Bestela, ondorengo errorea jasoko duzu:

Kodea: 0x80041102
Mezua: 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.

Adibidez, bi kontsulta hauek systemuser eta team taulen arteko erlazio teammembership_association erabiltzen dute. Kasu honetan, Dataverse-k eta to atributuak from landu ditzake eta link-entity intersect taula zehazten duena ez da beharrezkoa.

Zehaztu atributu guztiak

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

Utzi Dataverse-ri aukeratzen

<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>

Erabili link-type itzulitako erregistroei iragazkiak aplikatzeko. Ondorengo taulan baliozko link-type balioak azaltzen dira:

Izena Deskribapena
inner Lehenetsia. Emaitzak bi tauletan bat datozen balioak dituzten errenkadetara mugatzen ditu.
outer Bat datorren baliorik ez duten elementu gurasoaren emaitzak biltzen ditu.
any Erabili hau iragazki-elementu baten barruan. Emaitzak estekatutako entitatearen errenkada gurasoetara mugatzen ditu. Ikasi erlazionatutako any tauletako balioak iragazteko erabiltzen
not any Erabili hau iragazki-elementu baten barruan. Emaitzak estekatutako entitatean bat ez datozen errenkadarik ez duten errenkada gurasoetara mugatzen ditu. Ikasi erlazionatutako not any tauletako balioak iragazteko erabiltzen
all Erabili hau iragazki-elementu baten barruan. Emaitzak errenkada gurasoetara mugatzen ditu, non esteka-entitatean bat datorren from zutabe-balioa duten errenkadak dauden, baina bat datozen errenkada horietako inork ez ditu betetzen esteka-entitate honentzat definitutako iragazki gehigarriak. Iragazki gehigarriak alderantzikatu behar dituzu esteka entitatearen errenkada gurasoak aurkitzeko, non bat datorren esteka entitatearen errenkada bakoitzak irizpide gehigarri batzuk betetzen dituen. Ikasi erlazionatutako all tauletako balioak iragazteko erabiltzen
not all Erabili hau iragazki-elementu baten barruan. Emaitzak estekatutako entitatearen errenkada gurasoetara mugatzen ditu. Esteka mota hau izena gorabehera baliokidea any da. Ikasi erlazionatutako not all tauletako balioak iragazteko erabiltzen
exists Horren aldaera inner batek errendimendu-onurak ekar ditzake. EXISTS baldintza erabiltzen du klausulanwhere. Erabili hau emaitzetan errenkada gurasoaren kopia anitz beharrezkoak ez direnean. Gehiago jakiteko existitzen eta existitzen
in Horren aldaera inner batek errendimendu-onurak ekar ditzake. IN baldintza where bat erabiltzen da klausulan. Erabili hau emaitzetan errenkada gurasoaren kopia anitz beharrezkoak ez direnean. Gehiago jakiteko existitzen eta existitzen
matchfirstrowusingcrossapply Horren aldaera inner batek errendimendu-onurak ekar ditzake. Erabili mota hau estekatutako entitatearen errenkada bat datorren adibide bakarra nahikoa denean eta emaitzetan errenkada gurasoaren kopia anitz behar ez direnean. Informazio gehiago matchfirstrowuseringcrossapply-i buruz

Elementu gurasoak

Izena Deskribapena
entitate Elementu umea zehazten du, kontsultaren 'entitate gurasoa'. Entitate bakarra onartzen da.
esteka-entitatea Entitatearekin edo esteka-entitatearekin erlazionatutako taula bat elkartzen du, emaitzarekin zutabe gehiago itzultzeko.

Elementu umeak

Izena Agerraldiak Deskribapena
atributu guztiak 0 edo 1 Errenkada bakoitzeko zutabe-balio nuluak ez diren guztiak itzultzen direla adierazten du. Atributu-elementurik ez gehitzea bezalakoa da. Ez dugu gomendatzen elementu hau erabiltzea kasu gehienetan.
atributua 0 edo asko Entitate edo esteka-entitate bateko zutabe bat zehazten du, kontsulta batekin itzultzeko.
eskaera 0 edo asko Emaitzen errenkaden ordena zehazten du.
esteka-entitatea 0 edo asko Entitatearekin edo esteka-entitatearekin erlazionatutako taula bat elkartzen du, emaitzarekin zutabe gehiago itzultzeko.
iragazkia 0 edo 1 Zehaztu baldintza konplexuak entitate edo esteka-entitate bat kontsulta bati aplikatzeko.