2014-11-25 2 views
1

Мне нужно найти все контакты, которые подключены к учетной записи через пару роли подключения. В SQL это выглядит так:Query Dynamics CRM записи по коннективной роли

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

Вы можете использовать OData для этого. Таблицами являются ConnectionSet, ConnectionRoleSet, AccountSet и ContactSet. Вам нужно будет делать вложенные вызовы для выполнения всех необходимых объединений.

Я предпочитаю CRMRestKit для выполнения запросов OData, поскольку я нахожу, что это упрощает запись запроса, но любой инструмент, который вам нравится, должен быть достаточным. Для этого потребуется использовать ByQuery (aka RetrieveMultiple) в сочетании с Retrieve (aka retrieve individual).

 Смежные вопросы

  • Нет связанных вопросов^_^