إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ربط جدول مرتبط بالوحدة أو كيان الارتباط لإرجاع أعمدة إضافية بالنتيجة. يستخدم أيضا مع عناصر التصفيةلتطبيق الشروط على قيم الأعمدة في الجداول ذات الصلة.
تعرف على كيفية ربط الجداول باستخدام 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 | مطلوب؟ | الوصف |
|---|---|---|
name |
نعم | الاسم المنطقي للجدول ذي الصلة. |
to |
لا | الاسم المنطقي للعمود في العنصر الأصل لمطابقته مع عمود الجدول ذي الصلة المحدد في السمة from .
على الرغم من أن هذه السمة غير مطلوبة تقنيا، عادة ما تستخدم. |
from |
لا | الاسم المنطقي للعمود من الجدول المرتبط الذي يطابق العمود المحدد في السمة to .
على الرغم من أن هذه السمة غير مطلوبة تقنيا، عادة ما تستخدم. |
alias |
لا | يمثل اسم الجدول ذي الصلة. إذا لم تقم بتعيين اسم مستعار، إنشاء اسم لك للتأكد من أن جميع الأعمدة لها أسماء فريدة، ولكن لن تتمكن من استخدام هذا الاسم المستعار للإشارة إلى كيان الارتباط في أجزاء أخرى من إحضار XML. تستخدم الأسماء المستعارة التي تم إنشاؤها تلقائيا النمط {LogicalName}+{N}، حيث N هو العدد التسلسلي للكيان الارتباط في إحضار XML بدءا من 1. |
link-type |
لا | نوع استخدام الارتباط. السلوك الافتراضي داخلي. التعرف على خيارات نوع الارتباط |
intersect |
لا | يشير إلى أن link-entity يتم استخدام لربط الجداول وعدم إرجاع أي أعمدة، عادة لعلاقة متعدد إلى متعدد. لا يؤدي وجود هذه السمة إلى تغيير تنفيذ الاستعلام. يمكنك إضافة هذه السمة إلى عند الانضمام إلى link-entity جدول ولكن لا تقم بتضمين أي عناصر سمة لإظهار أن هذا مقصود. |
to استخدام from والسمات
من الأفضل تعيين قيم لكل من from السمتين و to . عادة ما تستخدم كلتا السمتين لتعريف الأعمدة المراد مطابقتها بشكل صريح. ومع ذلك، from فإن السمتين و to غير مطلوبتين تقنيا.
إشعار
من المهم أن تكون الأعمدة المحددة في
fromالسمتين وtoمن نفس النوع. استخدام أنواع أعمدة مختلفة غير معتمد. عندما لا تكون الأعمدة من نفس النوع، قد تكون البنية الأساسية Dataverse قادرة على فرض التحويل ولكن يمكن أن تؤدي هذه الممارسة إلى عقوبة أداء كبيرة.معنى
fromالسمات وtoفي FetchXml هي عكس خصائص LinkEntity.LinkFromAttributeName و LinkEntity.LinkToAttributeName المستخدمة عند إنشاء الاستعلامات باستخدام QueryExpression.
إذا لم تستخدم أيا من هذه السمات، وكانت هناك علاقة متعدد إلى متعدد للنظام بين الجدولين، يحدد Dataverse قيم المفتاح المناسبة باستخدام تلك العلاقة.
إذا حددت إحدى from السمات أو to فقط، يحاول 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 :
| Name | الوصف |
|---|---|
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 |
العناصر الأصلية
| Name | الوصف |
|---|---|
| كيان | تحديد العنصر التابع لعنصر إحضار، "الكيان الأصل" للاستعلام. يسمح بوحدة واحدة فقط. |
| ارتباط الكيان | ربط جدول متعلق بالوحدة أو كيان الارتباط لإرجاع المزيد من الأعمدة بالنتيجة. |
العناصر التابعة
| Name | تواجدات | الوصف |
|---|---|---|
| كافة السمات | 0 أو 1 | يشير إلى إرجاع كافة قيم الأعمدة غير الفارغة لكل صف. وهو نفس عدم إضافة أي عناصر سمة. لا نوصي باستخدام هذا العنصر لمعظم الحالات. |
| صفة | 0 أو العديد | تحديد عمود من كيان أو كيان ارتباط لإرجاعه مع استعلام. |
| ترتيب | 0 أو العديد | تحديد ترتيب فرز لصفوف النتائج. |
| ارتباط الكيان | 0 أو العديد | ربط جدول متعلق بالوحدة أو كيان الارتباط لإرجاع المزيد من الأعمدة بالنتيجة. |
| راووق | 0 أو 1 | حدد الشروط المعقدة لكيان أو كيان ارتباط لتطبيقه على استعلام. |