के माध्यम से साझा करें


वेब API का उपयोग करके तालिका पंक्तियों को संबद्ध और अलग करें

आप तालिका परिभाषाओं के बीच मौजूद संबंधों का उपयोग करके तालिका पंक्तियों में अलग-अलग रिकॉर्ड्स को अन्य रिकॉर्ड्स के साथ संबद्ध कर सकते हैं. OData में, संबंधों को नेविगेशन गुणों के रूप में व्यक्त किया जाता है।

आप पता लगा सकते हैं कि $metadata सेवा दस्तावेज़ में कौन से नेविगेशन गुण मौजूद हैं. वेब एपीआई नेविगेशन गुण देखें. मौजूदा Dataverse तालिकाओं के लिए, वेब API निकाय प्रकार संदर्भ देखें, प्रत्येक निकाय प्रकार के लिए, सूचीबद्ध एकल-मूल्यवान और संग्रह-मूल्यवान नेविगेशन गुण देखें.

निम्न तालिका 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

निम्न उदाहरण दिखाता है कि systemusersystemuserroles_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 का उपयोग करके किसी अन्य उपयोगकर्ता का प्रतिरूपण करें
वेब एपीआई का उपयोग करके सशर्त कार्रवाई करें