Recuperar registros para relações de muitos para muitos usando entidades de intersecção
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Em Microsoft Dynamics 365 e Microsoft Dynamics 365 (online), quando há um relacionamento de muitos para muitos (N:N) entre duas entidades, uma entidade de intersecção é criada automaticamente. Isto é válido para ambos os relacionamentos do sistema incorporados ao produto, bem como relacionamentos personalizados de muitos para muitos. O nome da entidade é especificado na propriedade de IntersectEntityName nos metadados de relacionamento. O nome do relacionamento é especificado na propriedade de SchemaName nos metadados de relacionamento.
Você pode usar as entidades de interseção para aprimorar o conjunto de resultados de qualquer consulta usando o método IOrganizationService.RetrieveMultiple ou a mensagem de RetrieveMultipleRequest. No entanto, você não pode recuperar os registros da entidade de interseção diretamente usando a classe de QueryExpression. Para recuperar os registros em uma entidade de interseção, você deve usar a classe de FetchExpression.
Neste tópico
Entidades de intersecção
Metadados da entidade de intersecção
Entidades de intersecção
A tabela a seguir lista as entidades de interseção usadas em relacionamentos N:N entre entidades padrão.
IntersectEntity |
MtoM_SchemaName |
MtoM_Entity1 |
MtoM_Entity2 |
---|---|---|---|
accountleads |
accountleads_association |
account |
lead |
campaignactivityitem |
campaignactivitylist_association |
campaignactivity |
list |
campaignactivityitem |
campaignactivitysalesliterature_association |
campaignactivity |
salesliterature |
campaignitem |
campaigncampaign_association |
campaign |
campaign |
campaignitem |
campaignlist_association |
campaign |
list |
campaignitem |
campaignproduct_association |
campaign |
product |
campaignitem |
campaignsalesliterature_association |
campaign |
salesliterature |
competitorproduct |
competitorproduct_association |
competitor |
product |
competitorsalesliterature |
competitorsalesliterature_association |
salesliterature |
competitor |
connectionroleassociation |
connectionroleassociation_association |
connectionrole |
connectionrole |
contactinvoices |
contactinvoices_association |
invoice |
contact |
contactleads |
contactleads_association |
contact |
lead |
contactorders |
contactorders_association |
salesorder |
contact |
contactquotes |
contactquotes_association |
quote |
contact |
entitlementcontacts |
entitlementcontacts_association |
contact |
entitlement |
entitlementproducts |
product_entitlement_association |
product |
entitlement |
entitlementtemplateproducts |
product_entitlementtemplate_association |
product |
entitlementtemplate |
leadcompetitors |
leadcompetitors_association |
lead |
competitor |
leadproduct |
leadproduct_association |
lead |
product |
listmember |
listaccount_association |
list |
account |
listmember |
listcontact_association |
list |
contact |
listmember |
listlead_association |
list |
lead |
opportunitycompetitors |
opportunitycompetitors_association |
opportunity |
competitor |
productassociation |
productassociation_association |
product |
product |
productsalesliterature |
productsalesliterature_association |
product |
salesliterature |
productsubstitute |
productsubstitute_association |
product |
product |
queuemembership |
queuemembership_association |
queue |
systemuser |
roleprivileges |
roleprivileges_association |
privilege |
role |
roletemplateprivileges |
roletemplateprivileges_association |
roletemplate |
privilege |
servicecontractcontacts |
servicecontractcontacts_association |
contact |
contract |
subscriptionmanuallytrackedobject |
contact_subscription_association |
subscription |
contact |
subscriptionmanuallytrackedobject |
task_subscription_association |
subscription |
task |
systemuserprofiles |
systemuserprofiles_association |
systemuser |
fieldsecurityprofile |
systemuserroles |
systemuserroles_association |
systemuser |
role |
teammembership |
teammembership_association |
team |
systemuser |
teamprofiles |
teamprofiles_association |
team |
fieldsecurityprofile |
teamroles |
teamroles_association |
team |
role |
Metadados da entidade de intersecção
A maioria das entidades de intersecção são simples, contendo apenas as poucas propriedades que são necessárias para fornecer um link entre as duas entidades de relacionamento N:N. Se você estiver usando tipos associados precocemente, você poderá ver um exemplo, na entidade de intersecção ContactInvoices. Esta é a ocorrência para todos os relacionamentos personalizados de muitos para muitos. No entanto, há várias entidades de intersecção que possuem propriedades adicionais que são usadas para a funcionalidade específica do relacionamento. Para facilitar a gravação de consultas utilizando entidades de intersecção especiais, os metadados do atributo são fornecidos nos seguintes tópicos:
Confira Também
Criar consultas com QueryExpression
Personalizar metadados do relacionamento entre entidades
Recuperar dados com consultas utilizando assemblies SDK
CampaignActivityItem intersect entity metadata
CampaignItem intersect entity metadata
ListMember intersect entity metadata
Role Privileges intersect entity metadata
Exemplo: Recuperar registros de uma tabela de interseção
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais