Kongsi melalui


elemen entiti pautan

Menyertai jadual yang berkaitan dengan entiti atau entiti pautan untuk mengembalikan lajur tambahan dengan hasilnya. Juga digunakan dengan elemen penapis untuk menggunakan syarat pada nilai lajur dalam jadual berkaitan.

Ketahui cara menyertai jadual menggunakan FetchXml.

Contoh

Contoh berikut menunjukkan penggunaan link-entity dengan pelbagai jenis perhubungan.

Hubungan banyak kepada satu

Pertanyaan ini mengembalikan data daripada jadual akaun dan kenalan berdasarkan lajur carian PrimaryContactId dalam rekod akaun:

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

Hubungan satu-ke-banyak

Pertanyaan ini mengembalikan data daripada jadual kenalan dan akaun berdasarkan perhubungan satu-ke-banyak Kenalan account_primary_contact.

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

Hubungan banyak kepada banyak

Pertanyaan ini mengembalikan data daripada jadual SystemUser dan Team menggunakan perhubungan teammembership_association banyak kepada banyak.

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

Atribut

Nama Diperlukan? Keterangan
name Ya Nama logik jadual yang berkaitan.
to Tidak Nama logik lajur dalam elemen induk untuk dipadankan dengan lajur jadual berkaitan yang ditentukan dalam from atribut. Walaupun tidak diperlukan secara teknikal, atribut ini biasanya digunakan.
from Tidak Nama logik lajur daripada jadual berkaitan yang sepadan dengan lajur yang ditentukan dalam to atribut. Walaupun tidak diperlukan secara teknikal, atribut ini biasanya digunakan.
alias Tidak Mewakili nama jadual yang berkaitan. Jika anda tidak mengesetkan alias, satu akan dijana untuk anda memastikan semua lajur mempunyai nama unik, tetapi anda tidak akan dapat menggunakan alias tersebut untuk merujuk entiti pautan di bahagian lain XML ambilan. Alias yang dijana secara automatik menggunakan corak {LogicalName}+{N}, di mana N ialah nombor berjujukan entiti pautan dalam XML pengambilan bermula dari 1.
link-type Tidak Jenis penggunaan pautan. Tingkah laku lalai adalah dalaman. Ketahui tentang pilihan jenis pautan
intersect Tidak Menunjukkan bahawa digunakan link-entity untuk menyertai jadual dan tidak mengembalikan sebarang lajur, biasanya untuk perhubungan banyak-ke-banyak. Kewujudan atribut ini tidak mengubah pelaksanaan pertanyaan. Anda mungkin menambah atribut ini pada anda link-entity apabila anda menyertai jadual tetapi tidak menyertakan sebarang elemen atribut untuk menunjukkan bahawa ini disengajakan.

Menggunakan from dan to atribut

Adalah lebih baik untuk menetapkan nilai untuk kedua-dua from atribut dan to . Kedua-dua atribut ini biasanya digunakan untuk mentakrifkan lajur untuk dipadankan secara eksplisit. Walau bagaimanapun, atribut from dan to tidak diperlukan secara teknikal.

Nota

Jika anda tidak menggunakan salah satu daripada atribut ini dan perhubungan banyak sistem wujud antara kedua-dua jadual, Dataverse memilih nilai kunci yang sesuai menggunakan perhubungan tersebut.

Jika anda menentukan hanya satu daripada fromto atau atribut, Dataverse cuba untuk mengetahui perhubungan yang betul menggunakan takrifan skema perhubungan antara kedua-dua jadual.

Jika tidak, anda akan mendapat ralat berikut:

Kod: 0x80041102
Mesej: 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.

Sebagai contoh, kedua-dua pertanyaan ini menggunakan perhubungan teammembership_association banyak kepada banyak antara jadual systemuser dan pasukan . Dalam kes ini, Dataverse boleh mengusahakan from atribut dan to dan yang link-entity menentukan jadual persimpangan tidak diperlukan.

Tentukan semua atribut

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

Biarkan Dataverse memilih

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

Gunakan link-type untuk menggunakan penapis pada rekod yang dikembalikan. Jadual berikut menerangkan nilai yang sah link-type :

Nama Keterangan
inner Lalai. Mengehadkan hasil kepada baris dengan nilai padanan dalam kedua-dua jadual.
outer Termasuk hasil daripada elemen induk yang tidak mempunyai nilai yang sepadan.
any Gunakan ini dalam elemen penapis. Mengehadkan hasil kepada baris induk dengan mana-mana baris yang sepadan dalam entiti terpaut. Belajar menggunakan untuk menapis any nilai pada jadual berkaitan
not any Gunakan ini dalam elemen penapis. Mengehadkan hasil kepada baris induk tanpa baris yang sepadan dalam entiti terpaut. Belajar menggunakan untuk menapis not any nilai pada jadual berkaitan
all Gunakan ini dalam elemen penapis. Mengehadkan hasil kepada baris induk di mana baris dengan nilai lajur sepadan from wujud dalam entiti pautan tetapi tiada satu pun daripada baris sepadan tersebut memenuhi penapis tambahan yang ditakrifkan untuk entiti pautan ini. Anda perlu menterbalikkan penapis tambahan untuk mencari baris induk di mana setiap baris entiti pautan sepadan memenuhi beberapa kriteria tambahan. Belajar menggunakan untuk menapis all nilai pada jadual berkaitan
not all Gunakan ini dalam elemen penapis. Mengehadkan hasil kepada baris induk dengan mana-mana baris yang sepadan dalam entiti terpaut. Jenis pautan ini bersamaan dengan any walaupun namanya. Belajar menggunakan untuk menapis not all nilai pada jadual berkaitan
exists Varian inner itu boleh memberikan faedah prestasi. Menggunakan syarat EXISTS dalam where klausa. Gunakan ini apabila berbilang salinan baris induk tidak diperlukan dalam hasil. Ketahui lebih lanjut tentang wujud dan dalam
in Varian inner itu boleh memberikan faedah prestasi. Menggunakan syarat IN dalam where klausa. Gunakan ini apabila berbilang salinan baris induk tidak diperlukan dalam hasil. Ketahui lebih lanjut tentang wujud dan dalam
matchfirstrowusingcrossapply Varian inner itu boleh memberikan faedah prestasi. Gunakan jenis ini apabila hanya satu contoh baris yang sepadan daripada entiti terpaut adalah mencukupi dan berbilang salinan baris induk dalam hasil tidak diperlukan. Ketahui lebih lanjut tentang matchfirstrowusingcrossapply

Elemen induk

Nama Keterangan
Entiti Menentukan elemen anak untuk elemen ambil, 'entiti induk' untuk pertanyaan. Hanya satu entiti dibenarkan.
entiti pautan Menyertai jadual yang berkaitan dengan entiti atau entiti pautan untuk mengembalikan lebih banyak lajur dengan hasil.

Elemen kanak-kanak

Nama Kejadian Keterangan
semua atribut 0 atau 1 Menunjukkan bahawa semua nilai lajur bukan nol untuk setiap baris dikembalikan. Ia sama seperti tidak menambah sebarang elemen atribut. Kami tidak mengesyorkan menggunakan elemen ini untuk kebanyakan kes.
Atribut 0 atau banyak Menentukan lajur daripada entiti atau entiti pautan untuk dikembalikan dengan pertanyaan.
Perintah 0 atau banyak Menentukan tertib pengisihan untuk baris keputusan.
entiti pautan 0 atau banyak Menyertai jadual yang berkaitan dengan entiti atau entiti pautan untuk mengembalikan lebih banyak lajur dengan hasil.
Penapis 0 atau 1 Tentukan syarat kompleks untuk entiti atau entiti pautan untuk digunakan pada pertanyaan.