如何使用Web服务在CRM 2013中创建多对多关系?

本文关键字:创建 关系 2013 Web 何使用 服务 CRM | 更新日期: 2023-09-27 18:08:20

我在CRM 2013中有一个多对多的客户关系company_a_c。我现在正试图通过oData (REST) web服务添加一个关系,但遇到了一些困难。我为oData web服务创建了一个标准的c#代理类。

尝试1(创建关系对象):

var crmRelationship = new company_a_c();
crmRelationship.accountid = account.AccountId;
crmRelationship.contactid = contact.ContactId;
crmService.AddTocompany_a_cSet(crmRelationship);
crmService.SaveChanges();

结果:错误" 'Create'方法不支持类型为CRM 2013 'company_a_c'的实体"

尝试2 (create via objects):

account.company_A_C.Add(contact);
crmService.UpdateObject(account);
crmService.SaveChanges();

结果:没有抛出错误,但是没有创建关系

我敢肯定我是在做这个错误的方式(新的oData),所以任何帮助,正确的方式来设置这些类型的关系将不胜感激。

如何使用Web服务在CRM 2013中创建多对多关系?

尝试以下操作:

EntityReferenceCollection entityCollection = new EntityReferenceCollection();
entityCollection.Add(new EntityReference(Contact.EntityLogicalName, contact.ContactId));
Relationship crmRelationship = new Relationship(company_a_c.EntityLogicalName);
crmService.Associate(Account.EntityLogicalName, account.AccountId, crmRelationship, entityCollection);

看起来SetLink是错误的,但AddLink是我应该之后。

crmService.AddLink(account, "company_a_c", contact);
crmService.SaveChanges();