नोट
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप साइन इन करने या निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
आप तालिका परिभाषाओं के बीच मौजूद संबंधों का उपयोग करके तालिका पंक्तियों में अलग-अलग रिकॉर्ड्स को अन्य रिकॉर्ड्स के साथ संबद्ध कर सकते हैं. OData में, संबंधों को नेविगेशन गुणों के रूप में व्यक्त किया जाता है।
आप पता लगा सकते हैं कि $metadata सेवा दस्तावेज़ में कौन से नेविगेशन गुण मौजूद हैं. वेब एपीआई नेविगेशन गुण देखें. मौजूदा Dataverse तालिकाओं के लिए, वेब API EntityType संदर्भ देखें
, प्रत्येक निकाय प्रकार के लिए, सूचीबद्ध एकल-मान और संग्रह-मूल्यवान नेविगेशन गुण देखें.
निम्न तालिका Dataverse में तालिकाओं के बीच तीन प्रकार के संबंधों का वर्णन करती है.
| प्रकार | विवरण | उदाहरण |
|---|---|---|
| एक से कई | एक रिकॉर्ड के साथ कई रिकॉर्ड जुड़े हो सकते हैं। |
किसी खाता रिकॉर्ड में संग्रह-मूल्यवान नेविगेशन गुण में contact_customer_accounts कई संपर्क रिकॉर्ड हो सकते हैं. |
| कई-से-एक | कई रिकॉर्ड को एक रिकॉर्ड से जोड़ा जा सकता है। कई-से-एक एक-से-कई रिश्ते की दर्पण छवि है। सिर्फ एक रिश्ता है। |
एकाधिक संपर्क रिकॉर्ड एकल-मान नेविगेशन गुण का उपयोग करके एकल parentcustomerid_account रिकॉर्ड से संबद्ध किए जा सकते हैं. |
| कई-से-कई | कई रिकॉर्ड कई रिकॉर्ड के साथ जुड़े हो सकते हैं। | प्रत्येक सुरक्षा भूमिका (भूमिका) में सिस्टमयूजर की परिभाषा के संदर्भ शामिल हो सकते हैं। इन दोनों तालिकाओं में एक systemuserroles_associationसंग्रह-मूल्यवान नेविगेशन गुण है। |
एकल-मूल्यवान नेविगेशन गुणों का उपयोग करना
एक-से-अनेक या कई-से-एक संबंध के कई पक्षों पर मौजूदा रिकॉर्ड्स के लिए, आप अन्य रिकॉर्ड के लिए एक Uri संदर्भ सेट करके रिकॉर्ड को संबद्ध कर सकते हैं। ऐसा करने का सबसे आसान और सबसे आम तरीका एकल-मूल्यवान नेविगेशन संपत्ति के नाम पर एनोटेशन जोड़ना @odata.bind है और फिर अनुरोध में PATCH अन्य रिकॉर्ड में मान को उरी के रूप में सेट करना है।
एकल-मूल्यवान नेविगेशन प्रॉपर्टी के साथ संबद्ध करें
उदाहरण के लिए, एकल-मान नेविगेशन गुण का उपयोग करके किसी संपर्क रिकॉर्ड को किसी खाता रिकॉर्ड से संबद्ध करने के parentcustomerid_account लिए:
निवेदन:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account@odata.bind": "accounts(ce9eaaef-f718-ed11-b83e-00224837179f)"
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
जैसा कि बनाएँ पर संबद्ध तालिका पंक्तियों में वर्णित है, आप उसी तरह नए रिकॉर्ड्स को मौजूदा रिकॉर्ड्स के साथ संबद्ध भी कर सकते हैं.
एकल-मान नेविगेशन गुण का उपयोग करके अलग करें
अलग करने के लिए, मान को शून्य पर सेट करें।
निवेदन:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account@odata.bind": null
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
जब आप इस विधि का उपयोग करके अलग हो जाते हैं, तो एनोटेशन शामिल @odata.bind न करें। एकल-मूल्यवान नेविगेशन प्रॉपर्टी के नाम का उपयोग करें:
निवेदन:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account": null
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
अधिक जानकारी: मूल अद्यतन
अन्य तरीके
आप एकल-मान वाले नेविगेशन गुणों के साथ पहले बताए गए समान परिणाम प्राप्त करने के लिए अन्य तरीकों का उपयोग कर सकते हैं।
एकल-मान नेविगेशन गुण का parentcustomerid_account मान सेट करने के लिए निम्न PUT अनुरोध का उपयोग करें:
निवेदन:
PUT [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/parentcustomerid_account/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)"
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
नोट
के लिए @odata.idमान सेट करते समय आपको एक पूर्ण URL का उपयोग करना चाहिए।
संदर्भ निकालने के लिए, इस DELETE अनुरोध का उपयोग करें:
निवेदन:
DELETE [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/parentcustomerid_account/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
संग्रह-मूल्यवान नेविगेशन गुणों का उपयोग करना
OData के साथ, कई-से-कई संबंध के दोनों पक्षों में संग्रह-मूल्यवान नेविगेशन गुण होते हैं। एक-से-कई और कई-से-एक संबंधों के लिए, 'एक' पक्ष की तालिका में एक संग्रह-मूल्यवान नेविगेशन संपत्ति है। संग्रह-मूल्यवान नेविगेशन गुणों का उपयोग करते समय आप इनमें से किसी भी प्रकार के संबंधों के साथ कैसे कार्य करते हैं, इसमें कोई अंतर नहीं है. यह अनुभाग वर्णन करता है कि किसी भी प्रकार के संबंध के लिए संग्रह-मान नेविगेशन गुणों के साथ कैसे कार्य करें.
किसी संग्रह में कोई रिकॉर्ड जोड़ना
निम्न उदाहरण दिखाता है कि खाता संग्रह में contact_customer_accounts रिकॉर्ड कैसे जोड़ा जाए, जो एक-से-कई संबंध का हिस्सा है.
निवेदन:
POST [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
निम्न उदाहरण दिखाता है कि systemuser संग्रह में systemuserroles_association रिकॉर्ड कैसे जोड़ा जाए, जो कि एकाधिक-से-कई संबंध है.
निवेदन:
POST [Organization Uri]/api/data/v9.2/systemusers(34dcbaf5-f718-ed11-b83e-00224837179f)/systemuserroles_association/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/roles(886b280c-6396-4d56-a0a3-2c1b0a50ceb0)"
}
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
किसी संग्रह से कोई रिकॉर्ड निकालना
निम्न उदाहरण दिखाता है कि खाता संग्रह contact_customer_accounts को निकालने का तरीका जहां संपर्क contactid मान है00aa00aa-bb11-cc22-dd33-44ee44ee44ee.
निवेदन:
DELETE [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
निम्नलिखित अनुरोध भी काम करता है:
निवेदन:
DELETE [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts/$ref?$id=[Organization URI]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
प्रतिक्रिया:
HTTP/1.1 204 NoContent
OData-Version: 4.0
इसे भी देखें
वेब API मूलभूत कार्रवाई नमूना (C#)
वेब API बेसिक ऑपरेशन नमूना (क्लाइंट-साइड जावास्क्रिप्ट)
वेब एपीआई का उपयोग करके संचालन करें
Http अनुरोध लिखें और त्रुटियों को संभालें
वेब API का उपयोग करके क्वेरी डेटा
वेब API का उपयोग करके एक तालिका पंक्ति बनाएँ
वेब API का उपयोग करके तालिका पंक्ति पुनर्प्राप्त करें
वेब API का उपयोग करके तालिका पंक्तियों को अद्यतन करें और हटाएं
वेब एपीआई फ़ंक्शन का उपयोग करें
वेब API क्रियाएँ उपयोग करें
वेब API का उपयोग करके बैच ऑपरेशन निष्पादित करें
वेब API का उपयोग करके किसी अन्य उपयोगकर्ता का प्रतिरूपण करें
वेब एपीआई का उपयोग करके सशर्त कार्रवाई करें