Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ενώνει έναν πίνακα που σχετίζεται με την οντότητα ή την οντότητα-σύνδεσης για να επιστρέψει πρόσθετες στήλες με το αποτέλεσμα. Χρησιμοποιείται επίσης με στοιχεία φίλτρου για την εφαρμογή συνθηκών σε τιμές στήλης σε σχετικούς πίνακες.
Μάθετε πώς μπορείτε να ενώσετε πίνακες χρησιμοποιώντας το FetchXml.
Παραδείγματα
Τα παρακάτω παραδείγματα δείχνουν τη χρήση link-entity με διαφορετικούς τύπους σχέσεων.
Σχέση πολλά προς ένα
Αυτό το ερώτημα επιστρέφει δεδομένα από τους πίνακες λογαριασμού και επαφής με βάση τη στήλη αναζήτησης PrimaryContactId στην εγγραφή λογαριασμού:
<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>
Σχέση "Ένα-προς-πολλά"
Αυτό το ερώτημα επιστρέφει δεδομένα από τους πίνακες επαφών και λογαριασμών με βάση τη σχέση "Επαφή 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>
Σχέση πολλά προς πολλά
Αυτό το ερώτημα επιστρέφει δεδομένα από τους πίνακες SystemUser και Team χρησιμοποιώντας τη teammembership_association σχέση πολλά-προς-πολλά.
<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>
Χαρακτηριστικά
| Όνομα | Υποχρεωτικό; | Περιγραφή |
|---|---|---|
name |
Όχι | Το λογικό όνομα του σχετικού πίνακα. |
to |
όχι | Το λογικό όνομα της στήλης στο γονικό στοιχείο που θα συμφωνεί με τη σχετική στήλη πίνακα που καθορίζεται στο from χαρακτηριστικό.
Αν και δεν απαιτείται από τεχνική άποψη, αυτό το χαρακτηριστικό χρησιμοποιείται συνήθως. |
from |
όχι | Το λογικό όνομα της στήλης από τον σχετικό πίνακα που συμφωνεί με τη στήλη που καθορίζεται στο to χαρακτηριστικό.
Αν και δεν απαιτείται από τεχνική άποψη, αυτό το χαρακτηριστικό χρησιμοποιείται συνήθως. |
alias |
όχι | Αντιπροσωπεύει το όνομα του σχετικού πίνακα. Εάν δεν ορίσετε ένα ψευδώνυμο, θα δημιουργηθεί ένα για εσάς για να βεβαιωθείτε ότι όλες οι στήλες έχουν μοναδικά ονόματα, αλλά δεν θα μπορείτε να χρησιμοποιήσετε αυτό το ψευδώνυμο για αναφορά στην οντότητα σύνδεσης σε άλλα τμήματα της XML ανάκτησης. Τα ψευδώνυμα που δημιουργούνται αυτόματα χρησιμοποιούν το μοτίβο {LogicalName}+{N}, όπου N είναι ο διαδοχικός αριθμός της οντότητας-σύνδεσης στο XML fetch ξεκινώντας από το 1. |
link-type |
όχι | Ο τύπος της σύνδεσης που χρησιμοποιείται. Η προεπιλεγμένη συμπεριφορά είναι εσωτερική. Μάθετε σχετικά με τις επιλογές τύπου σύνδεσης |
intersect |
όχι | Υποδεικνύει ότι το χρησιμοποιείται για τη link-entity σύνδεση πινάκων και δεν επιστρέφει στήλες, συνήθως για μια σχέση πολλά-προς-πολλά. Η ύπαρξη αυτού του χαρακτηριστικού δεν αλλάζει την εκτέλεση του ερωτήματος. Μπορείτε να προσθέσετε αυτό το χαρακτηριστικό στο δικό σας link-entity όταν ενώσετε έναν πίνακα, αλλά δεν συμπεριλάβετε στοιχεία χαρακτηριστικού για να δείξετε ότι αυτό είναι σκόπιμο. |
Χρήση from χαρακτηριστικών και to
Είναι προτιμότερο να ορίσετε τιμές για τα from χαρακτηριστικά και και to . Και τα δύο αυτά χαρακτηριστικά χρησιμοποιούνται συνήθως για να ορίσουν ρητά τις στήλες που θα συμφωνούν. Ωστόσο, τα from χαρακτηριστικά και to δεν είναι τεχνικά απαραίτητα.
Σημείωμα
Είναι σημαντικό οι στήλες που καθορίζονται στα
fromχαρακτηριστικά καιtoνα είναι του ίδιου τύπου. Δεν υποστηρίζεται η χρήση διαφορετικών τύπων στηλών. Όταν οι στήλες δεν είναι του ίδιου τύπου, η υποδομή dataverse μπορεί να είναι σε θέση να επιβάλλει μια μετατροπή, αλλά αυτή η πρακτική μπορεί να οδηγήσει σε σημαντική ποινή απόδοσης.Η έννοια των
fromχαρακτηριστικών καιtoστο FetchXml είναι το αντίθετο των αντίστοιχων ιδιοτήτων LinkEntity.LinkFromAttributeName και LinkEntity.LinkToAttributeName που χρησιμοποιούνται κατά τη σύνταξη ερωτημάτων με χρήση του QueryExpression.
Εάν δεν χρησιμοποιείτε κάποιο από αυτά τα χαρακτηριστικά και υπάρχει μια σχέση συστήματος πολλά-προς-πολλά μεταξύ των δύο πινάκων, το Dataverse επιλέγει τις κατάλληλες τιμές κλειδιών χρησιμοποιώντας αυτή τη σχέση.
Εάν καθορίσετε μόνο ένα από τα χαρακτηριστικά ήto, το from Dataverse επιχειρεί να καταλάβει τη σωστή σχέση χρησιμοποιώντας τους ορισμούς σχήματος σχέσης μεταξύ των δύο πινάκων.
Διαφορετικά, θα λάβετε το ακόλουθο σφάλμα:
Κώδικας:
0x80041102
Μήνυμα: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.
Για παράδειγμα, και τα δύο αυτά ερωτήματα χρησιμοποιούν τη teammembership_association σχέση πολλά-προς-πολλά μεταξύ των πινάκων systemuser και ομάδας . Σε αυτή την περίπτωση, το Dataverse μπορεί να καθορίσει τα from χαρακτηριστικά και to και αυτό link-entity που καθορίζει ότι ο πίνακας τομής δεν είναι απαραίτητος.
Καθορισμός όλων των χαρακτηριστικών
<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>
Αφήστε το Dataverse να επιλέξει
<fetch top="2">
<entity name="systemuser">
<attribute name="fullname" />
<link-entity name="team" alias="team">
<attribute name="name" />
</link-entity>
</entity>
</fetch>
επιλογές τύπου σύνδεσης
Χρησιμοποιήστε link-type το για να εφαρμόσετε φίλτρα στις εγγραφές που επιστρέφονται. Ο παρακάτω πίνακας περιγράφει τις έγκυρες link-type τιμές:
| Όνομα | Περιγραφή |
|---|---|
inner |
Προεπιλογή. Περιορίζει τα αποτελέσματα σε γραμμές με αντίστοιχες τιμές και στους δύο πίνακες. |
outer |
Περιλαμβάνει αποτελέσματα από το γονικό στοιχείο που δεν έχει αντίστοιχη τιμή. |
any |
Χρησιμοποιήστε το μέσα σε ένα στοιχείο φίλτρου. Περιορίζει τα αποτελέσματα σε γονικές γραμμές με αντίστοιχες γραμμές στη συνδεδεμένη οντότητα.
Μάθετε πώς μπορείτε να χρησιμοποιήσετε any το για να φιλτράρετε τιμές σε σχετικούς πίνακες |
not any |
Χρησιμοποιήστε το μέσα σε ένα στοιχείο φίλτρου. Περιορίζει τα αποτελέσματα σε γονικές γραμμές χωρίς αντίστοιχες γραμμές στη συνδεδεμένη οντότητα.
Μάθετε πώς μπορείτε να χρησιμοποιήσετε not any το για να φιλτράρετε τιμές σε σχετικούς πίνακες |
all |
Χρησιμοποιήστε το μέσα σε ένα στοιχείο φίλτρου. Περιορίζει τα αποτελέσματα σε γονικές γραμμές όπου γραμμές με αντίστοιχη from τιμή στήλης υπάρχουν στην οντότητα σύνδεσης, αλλά καμία από αυτές τις γραμμές που συμφωνούν δεν ικανοποιεί τα πρόσθετα φίλτρα που έχουν οριστεί για αυτήν την οντότητα σύνδεσης. Πρέπει να αντιστρέψετε τα πρόσθετα φίλτρα για να βρείτε γονικές γραμμές όπου κάθε αντίστοιχη γραμμή οντότητας σύνδεσης ικανοποιεί ορισμένα πρόσθετα κριτήρια.
Μάθετε πώς μπορείτε να χρησιμοποιήσετε all το για να φιλτράρετε τιμές σε σχετικούς πίνακες |
not all |
Χρησιμοποιήστε το μέσα σε ένα στοιχείο φίλτρου. Περιορίζει τα αποτελέσματα σε γονικές γραμμές με αντίστοιχες γραμμές στη συνδεδεμένη οντότητα. Αυτός ο τύπος σύνδεσης ισοδυναμεί με any παρά το όνομα.
Μάθετε πώς μπορείτε να χρησιμοποιήσετε not all το για να φιλτράρετε τιμές σε σχετικούς πίνακες |
exists |
Μια παραλλαγή αυτού inner μπορεί να παρέχει οφέλη επιδόσεων. Χρησιμοποιεί μια συνθήκη EXISTS στον where όρο . Χρησιμοποιήστε το όταν πολλαπλά αντίγραφα της γονικής γραμμής δεν είναι απαραίτητα στα αποτελέσματα.
Μάθετε περισσότερα σχετικά με την exists και την |
in |
Μια παραλλαγή αυτού inner μπορεί να παρέχει οφέλη επιδόσεων. Χρησιμοποιεί μια συνθήκη IN στον where όρο . Χρησιμοποιήστε το όταν πολλαπλά αντίγραφα της γονικής γραμμής δεν είναι απαραίτητα στα αποτελέσματα.
Μάθετε περισσότερα σχετικά με την exists και την |
matchfirstrowusingcrossapply |
Μια παραλλαγή αυτού inner μπορεί να παρέχει οφέλη επιδόσεων. Χρησιμοποιήστε αυτόν τον τύπο όταν αρκεί μόνο ένα παράδειγμα μιας αντίστοιχης γραμμής από τη συνδεδεμένη οντότητα και δεν απαιτούνται πολλά αντίγραφα της γονικής γραμμής στα αποτελέσματα.
Μάθετε περισσότερα σχετικά με το matchfirstrowusingcrossapply |
Γονικά στοιχεία
| Όνομα | Περιγραφή |
|---|---|
| οντότητα | Καθορίζει το θυγατρικό στοιχείο για ένα στοιχείο fetch, την "γονική οντότητα" για το ερώτημα. Επιτρέπεται μόνο μία οντότητα. |
| οντότητα σύνδεσης | Ενώνει έναν πίνακα που σχετίζεται με την οντότητα ή την οντότητα-σύνδεσης για να επιστρέψει περισσότερες στήλες με το αποτέλεσμα. |
Θυγατρικά στοιχεία
| Όνομα | Εμφανίσεις | Περιγραφή |
|---|---|---|
| όλα τα χαρακτηριστικά | 0 ή 1 | Υποδεικνύει ότι επιστρέφονται όλες οι τιμές στήλης που δεν είναι null για κάθε γραμμή. Είναι το ίδιο με την μη προσθήκη στοιχείων χαρακτηριστικού. Δεν συνιστούμε τη χρήση αυτού του στοιχείου για τις περισσότερες περιπτώσεις. |
| χαρακτηριστικό | 0 ή πολλά | Καθορίζει μια στήλη από μια οντότητα ή μια οντότητα-σύνδεσης για επιστροφή με ένα ερώτημα. |
| παραγγελία | 0 ή πολλά | Καθορίζει μια σειρά ταξινόμησης για τις γραμμές των αποτελεσμάτων. |
| οντότητα σύνδεσης | 0 ή πολλά | Ενώνει έναν πίνακα που σχετίζεται με την οντότητα ή την οντότητα-σύνδεσης για να επιστρέψει περισσότερες στήλες με το αποτέλεσμα. |
| φίλτρο | 0 ή 1 | Καθορίστε σύνθετες συνθήκες για μια οντότητα ή μια οντότητα-σύνδεσης για να εφαρμοστεί σε ένα ερώτημα. |