按连接角色查询动态CRM记录

时间:2014-11-25 20:13:39

标签: dynamics-crm-2013 fetchxml

我需要找到通过连接角色对连接到帐户的所有联系人。在SQL中它看起来像这样......

SELECT ConnectionRoleBase.Name AS [Account Name], ContactBase.FullName AS [Conection Role], AccountBase.Name AS [Contact Name]
FROM ConnectionBase INNER JOIN
ConnectionRoleBase ON ConnectionBase.Record2RoleId = ConnectionRoleBase.ConnectionRoleId INNER JOIN
ContactBase ON ConnectionBase.Record2Id = ContactBase.ContactId INNER JOIN
AccountBase ON ConnectionBase.Record1Id = AccountBase.AccountId
WHERE(ConnectionRoleBase.Name LIKE N'%scientist%')

我可以使用Odata吗?如果是这样,我不确定如何编写查询,因为连接不像其他实体。

我可以使用FetchXML吗?再次说明如何引用Connection?

我需要从JavaScript查询,更喜欢使用XRMTServicesToolKit和Odata。任何建议或帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用OData。这些表是ConnectionSet,ConnectionRoleSet,AccountSet和ContactSet。您需要执行嵌套调用才能执行所有必需的连接。

我更喜欢使用CRMRestKit来执行OData查询,因为我发现它简化了编写查询,但是您喜欢的任何工具都应该足够了。它需要将ByQuery(aka RetrieveMultiple)与Retrieve(又名检索个体)结合使用。