नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
परिणाम के साथ अतिरिक्त स्तंभ वापस करने के लिए निकाय या लिंक-निकाय से संबंधित तालिका में शामिल होता है. संबंधित तालिकाओं में स्तंभ मानों पर शर्तों को लागू करने के लिए फ़िल्टर तत्वों के साथ भी उपयोग किया जाता है.
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>
कई-से-कई रिश्ते
यह क्वेरी teammembership_association कई-से-कई संबंध का उपयोग करके SystemUser और टीम तालिकाओं से डेटा लौटाती है।
<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 1 से शुरू होने वाले XML में लिंक-इकाई की अनुक्रमिक संख्या है। |
link-type |
नहीं | लिंक उपयोग का प्रकार. डिफ़ॉल्ट व्यवहार आंतरिक है। संबंधित रिकॉर्ड्स फ़िल्टर करने के लिए लिंक-प्रकार विकल्पों के बारे में जानें |
intersect |
नहीं | इंगित करता है कि तालिकाओं में link-entity शामिल होने के लिए उपयोग किया जाता है और किसी भी कॉलम को वापस नहीं किया जाता है, आमतौर पर कई-से-कई संबंध के लिए। इस विशेषता का अस्तित्व क्वेरी निष्पादन को नहीं बदलता है। जब आप किसी तालिका में शामिल होते हैं, तो आप इस विशेषता को अपने साथ link-entity जोड़ सकते हैं, लेकिन यह दिखाने के लिए कोई विशेषता तत्व शामिल न करें कि यह जानबूझकर किया गया है. |
उपयोग और from विशेषताएँ to
और विशेषताओं to दोनों के from लिए मान सेट करें। मिलान करने के लिए स्तंभों को स्पष्ट रूप से परिभाषित करने के लिए इन विशेषताओं का उपयोग करें. हालाँकि, from और विशेषताओं to की तकनीकी रूप से आवश्यकता नहीं है।
नोट
आपके द्वारा और विशेषताओं
toमें निर्दिष्टfromस्तंभ समान प्रकार के होने चाहिए. Dataverse अलग-अलग कॉलम प्रकारों का उपयोग करने का समर्थन नहीं करता है. जब कॉलम एक ही प्रकार के नहीं होते हैं, तो Dataverse बुनियादी ढांचा रूपांतरण को बाध्य करने में सक्षम हो सकता है, लेकिन इस अभ्यास के परिणामस्वरूप एक महत्वपूर्ण प्रदर्शन दंड हो सकता है।FetchXml में और विशेषताओं का अर्थ संबंधित
fromऔरtoगुणों के विपरीत है जिनका उपयोग 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सिस्टमयूजर और टीम तालिकाओं के बीच कई से कई संबंध का उपयोग करें। इस मामले में, 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 प्रदर्शन लाभ प्रदान कर सकता है। खंड में एक where शर्त का उपयोग करता है। इसका उपयोग तब करें जब परिणामों में मूल पंक्ति की एकाधिक प्रतियां आवश्यक न हों।
मौजूद और में के बारे में अधिक जानें |
in |
इसका एक प्रकार inner प्रदर्शन लाभ प्रदान कर सकता है। खंड में where शर्त का उपयोग करता है। इसका उपयोग तब करें जब परिणामों में मूल पंक्ति की एकाधिक प्रतियां आवश्यक न हों।
मौजूद और में के बारे में अधिक जानें |
matchfirstrowusingcrossapply |
इसका एक प्रकार inner प्रदर्शन लाभ प्रदान कर सकता है। इस प्रकार का उपयोग तब करें जब लिंक किए गए निकाय से मेल खाने वाली पंक्ति का केवल एक ही उदाहरण पर्याप्त हो और परिणामों में पैरेंट पंक्ति की एकाधिक प्रतिलिपियाँ आवश्यक न हों.
matchfirstrowusingcrossapply के बारे में अधिक जानें |
मूल तत्व
| नाम | विवरण |
|---|---|
| स्थिति | फ़ेच एलिमेंट के लिए चाइल्ड एलिमेंट को निर्दिष्ट करता है, क्वेरी के लिए 'पैरेंट एंटिटी'. केवल एक इकाई की अनुमति है। |
| लिंक-एंटिटी | परिणाम के साथ अधिक स्तंभ लौटाने के लिए निकाय या लिंक-निकाय से संबंधित तालिका में शामिल होता है. |
बाल तत्व
| नाम | आवृत्तियों | विवरण |
|---|---|---|
| सभी विशेषताएँ | 0 या 1 | इंगित करता है कि प्रत्येक पंक्ति के लिए सभी गैर-शून्य स्तंभ मान दिए गए हैं. यह किसी भी विशेषता तत्वों को नहीं जोड़ने के समान है। हम ज्यादातर मामलों के लिए इस तत्व का उपयोग करने की अनुशंसा नहीं करते हैं। |
| लक्षण | 0 या कई | किसी क्वेरी के साथ वापस जाने के लिए किसी निकाय या लिंक-निकाय से एक स्तंभ निर्दिष्ट करता है. |
| आदेश | 0 या कई | परिणामों की पंक्तियों के लिए एक सॉर्ट क्रम निर्दिष्ट करता है। |
| लिंक-एंटिटी | 0 या कई | परिणाम के साथ अधिक स्तंभ लौटाने के लिए निकाय या लिंक-निकाय से संबंधित तालिका में शामिल होता है. |
| छानना | 0 या 1 | किसी निकाय या लिंक-निकाय के लिए किसी क्वेरी पर लागू करने के लिए जटिल शर्तें निर्दिष्ट करें. |