הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
צירוף טבלה הקשורה לישות או לישותהקישור כדי להחזיר עמודות נוספות עם התוצאה. משמש גם עם רכיבי מסנן כדי להחיל תנאים על ערכי עמודות בטבלאות קשורות.
למד כיצד לצרף טבלאות באמצעות 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>
Attributes
| שם | נדרש? | תיאור |
|---|---|---|
name |
כן | השם הלוגי של הטבלה הקשורה. |
to |
לא | השם הלוגי של העמודה ברכיב האב כך שיתאים לעמודת הטבלה הקשורה שצוינה בתכונה from .
למרות שהתכונה אינה נדרשת באופן טכני, נעשה שימוש בתכונה זו בדרך כלל. |
from |
לא | השם הלוגי של העמודה מהטבלה הקשורה התואמת לעמודה שצוינה בתכונה to .
למרות שהתכונה אינה נדרשת באופן טכני, נעשה שימוש בתכונה זו בדרך כלל. |
alias |
לא | מייצג את שם הטבלה הקשורה. אם לא תגדיר כינוי, יפיק כינוי עבורך כדי להבטיח של כל העמודות יהיו שמות ייחודיים, אך לא תוכל להשתמש בכינוי זה כדי להפנות לישות הקישור בחלקים אחרים של הבאת ה- XML. הכינויים שנוצרו באופן אוטומטי {LogicalName}+{N}משתמשים בתבנית , N כאשר הוא המספר הרציף של ישות הקישור בהבאת XML החל מ- 1. |
link-type |
לא | סוג השימוש בקישור. אופן הפעולה המוגדר כברירת מחדל הוא פנימי. למד אודות אפשרויות סוג קישור |
intersect |
לא | מציין כי משמש link-entity לצירוף טבלאות ולא להחזרת עמודות, בדרך כלל עבור קשר גומלין של רבים לרבים. קיומה של תכונה זו אינו משנה את ביצוע השאילתה. ייתכן שתוסיף תכונה זו לטבלה link-entity שלך כאשר תצטרף לטבלה, אך אל תכלול רכיבי תכונה כלשהם כדי להראות שזה מכוון. |
שימוש from בתכונות to
מומלץ להגדיר ערכים הן עבור התכונות fromto והן עבורן. שתי תכונות אלה משמשות בדרך כלל להגדרת העמודות באופן מפורש כך שיתאים. עם זאת, from התכונות to והתכונות אינן נדרשות באופן טכני.
הערה
חשוב שהעמודות שצוינו בתכונות
fromוtoמאותו סוג. אין תמיכה בשימוש בסוגי עמודות שונים. כאשר העמודות אינן מאותו סוג, ייתכן שהתשתית Dataverse תוכל לכפות המרה, אך בפועל זו עלולה לגרום לקנס משמעותי על הביצועים.המשמעות של
fromtoהתכונות והתכונות ב- FetchXml הן ההפך מהמאפיינים המתאימים של LinkEntity.LinkFromAttributeName ו- LinkEntity.LinkToAttributeName המשמשים בעת חיבור שאילתות באמצעות QueryExpression.
אם אינך משתמש בהן, וקשר גומלין של מערכת מסוג רבים לרבים קיים בין שתי הטבלאות, Dataverse בוחר את ערכי המפתח המתאימים באמצעות קשר גומלין זה.
אם תציין רק אחת מהתכונות fromto או, 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 . השתמש באפשרות זו כאשר אין צורך במספר עותקים של שורת האב בתוצאות.
קבל מידע נוסף על קיים וב- |
in |
משתנה של זה inner יכול לספק יתרונות ביצועים. שימוש בתנאי IN במשפט where . השתמש באפשרות זו כאשר אין צורך במספר עותקים של שורת האב בתוצאות.
קבל מידע נוסף על קיים וב- |
matchfirstrowusingcrossapply |
משתנה של זה inner יכול לספק יתרונות ביצועים. השתמש בסוג זה כאשר רק דוגמה אחת של שורה תואמת מהישות המקושרת מספיקה, ולא נדרשים עותקים מרובים של שורת האב בתוצאות.
קבל מידע נוסף על matchfirstrowusingcrossapply |
רכיבי אב
| שם | תיאור |
|---|---|
| ישות | מציין את רכיב הצאצא עבור רכיב Fetch, 'ישות האב' עבור השאילתה. מותרת ישות אחת בלבד. |
| ישות קישור | צירוף טבלה הקשורה לישות או לישותהקישור כדי להחזיר עמודות נוספות עם התוצאה. |
רכיבי צאצא
| שם | המופעים | תיאור |
|---|---|---|
| כל התכונות | 0 או 1 | מציין שכל ערכי העמודות שאינם Null עבור כל שורה מוחזרים. זהה לאי-הוספת רכיבי תכונה. איננו ממליצים להשתמש ברכיב זה ברוב המקרים. |
| תכונה | 0 או רבים | מציין עמודה מתוך ישות אוישות קישור להחזרה עם שאילתה. |
| הזמנה | 0 או רבים | מציין סדר מיון עבור שורות התוצאות. |
| ישות קישור | 0 או רבים | צירוף טבלה הקשורה לישות או לישותהקישור כדי להחזיר עמודות נוספות עם התוצאה. |
| מסנן | 0 או 1 | ציין תנאים מורכבים עבור ישותאו ישות קישור להחלה על שאילתה. |