Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tablo tanımları arasında var olan ilişkileri kullanarak tablo satırlarındaki tek tek kayıtları diğer kayıtlarla ilişkilendirebilirsiniz. OData'da ilişkiler gezinti özellikleri olarak ifade edilir.
$metadata hizmet belgesinde hangi gezinti özelliklerinin mevcut olduğunu keşfedebilirsiniz. Bkz. Web API'sinde Gezinti Özellikleri. Mevcut Dataverse tabloları için bkz. Web API EntityType Başvurusu
, her varlık türü için listelenen tek değerli ve koleksiyon değerli gezinti özelliklerine bakın.
Aşağıdaki tabloda Dataverse'deki tablolar arasındaki üç ilişki türü açıklanmaktadır.
| Türü | Description | Example |
|---|---|---|
| Birden Çoka | Bir kaydın kendisiyle ilişkilendirilmiş birçok kaydı olabilir. |
Hesap kaydı, contact_customer_accounts birçok kişi kaydına sahip olabilir. |
| Çoktan Bire | Birçok kayıt tek bir kayıtla ilişkilendirilebilir. Çoka Bir, Bire Çok ilişkisinin ayna görüntüsüdür. Sadece bir ilişki var. |
Tek değerli gezinti özelliği kullanılarak, birden çok iletişim kaydı, tek bir parentcustomerid_account kaydıyla ilişkilendirilebilir. |
| Çoktan Çoka | Birçok kayıt birçok kayıtla ilişkilendirilebilir. | Her güvenlik rolü (rol),bir sistem kullanıcısının tanımına başvurular içerebilir. Her iki tablo da systemuserroles_associationkoleksiyon değerine sahip bir gezinti özelliği içerir. |
Tek değerli gezinti özelliklerini kullanma
Bir-çok veya çoktan-bir ilişkisinin çok tarafındaki mevcut kayıtlar için, diğer kayda bir Uri referansı ayarlayarak kaydı ilişkilendirebilirsiniz. Bunu yapmanın en kolay ve en yaygın yolu, tek değerli gezinme özelliğinin adına @odata.bind açıklamasını eklemek ve ardından değeri PATCH isteğinde diğer kaydın Uri'si olarak ayarlamak.
Tek değerli bir navigasyon özelliğiyle ilişkilendirme
Örneğin, parentcustomerid_account tek değerli yönlendirme özelliğini kullanarak bir kişi kaydını bir hesap kaydıyla ilişkilendirmek için:
İstek:
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)"
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Oluşturmada tablo satırlarını ilişkilendirme bölümünde açıklandığı gibi, yeni kayıtları var olan kayıtlarla da aynı şekilde ilişkilendirebilirsiniz.
Tek değerli bir gezinti özelliği kullanarak ilişkilendirmeyi kaldır
İlişkilendirmeyi çözmek için değeri null olarak ayarlayın.
İstek:
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
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
İlişkilendirmeyi bu yöntemle kaldırdığınızda @odata.bind açıklamasını eklemeyin. Tek değerli gezinti özelliğinin adını kullanın:
İstek:
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
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Daha fazla bilgi: Temel güncelleştirme
Diğer yöntemler
Daha önce tek değerli gezinti özellikleriyle açıklanan sonuçları elde etmek için diğer yöntemleri kullanabilirsiniz.
Tek değerli gezinti özelliğinin PUT değerini ayarlamak için aşağıdaki parentcustomerid_account isteği kullanın:
İstek:
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)"
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Uyarı
değerini ayarlarken @odata.id mutlak bir URL kullanmalısınız.
Referansı kaldırmak için şu DELETE isteği kullanın:
İstek:
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
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Koleksiyon değerli gezinti özelliklerini kullanma
OData ile çoka çok ilişkisinin her iki tarafı da koleksiyon değerli gezinti özelliklerine sahiptir. Bire-çok ve çoka-bir ilişkiler için "Bir" tarafındaki tablo koleksiyon değerli bir gezinme özelliğine sahiptir. Koleksiyon değerli gezinti özelliklerini kullanırken bu tür ilişkilerle çalışma şekliniz arasında bir fark yoktur. Bu bölümde, herhangi bir ilişki türü içine koleksiyonlar içeren gezinti özellikleriyle çalışma yöntemleri açıklanmaktadır.
Koleksiyona kayıt ekleme
Aşağıdaki örnek, bire çok ilişkisinin parçası olan hesap koleksiyonuna bir kişicontact_customer_accounts kaydının nasıl ekleneceğini göstermektedir.
İstek:
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)"
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Aşağıdaki örnek, çoka çok ilişkisi olan systemuser koleksiyonuna bir systemuserroles_association kaydının nasıl ekleneceğini gösterir.
İstek:
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)"
}
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Koleksiyondan kayıt kaldırma
Aşağıdaki örnek, iletişim değerinin olduğu contact_customer_accountscontactid koleksiyonundan iletişim kaydının nasıl kaldırılacağını göstermektedir.
İstek:
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
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Aşağıdaki istek de çalışır:
İstek:
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
Yanıt:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Ayrıca bakınız
Web API'si Temel İşlem Örneği (C#)
Web API Temel İşlem Örneği (İstemci Tarafı JavaScript)
Web API'sini kullanarak işlemler gerçekleştirme
Http istekleri oluşturma ve hataları işleme
Web API'sini kullanarak Verileri Sorgulama
Web API'sini kullanarak tablo satırı oluşturma
Web API'sini kullanarak tablo satırı alma
Web API'sini kullanarak tablo satırlarını güncelleştirme ve silme
Web API işlevlerini kullanma
Web API işlemlerini kullanma
Web API'sini kullanarak toplu işlemleri yürütme
Web API'sini kullanarak başka bir kullanıcının kimliğine bürünme
Web API'sini kullanarak koşullu işlemler gerçekleştirme