Relacionamentos NxN / Muitos-para-Muitos / Many-to-Many (como preferirem) não estão disponíveis na localização avançada, assim não conseguimos gerar nossos fecth’s com este tipo de relacionamento… Para resolver este problema, podemos nós mesmos fazer, basta inserir uma tag “link-entity” da mesma forma quando temos um 1xN, veja:
<link-entity name='NOME_ENTIDADE_RELACIONAMENTO' from='ID_ENTIDADE_PRINCIPAL' to='ID_ENTIDADE_RELACIONADA'>
Um exemplo, seria um relacionamento da entidade “contato” com uma nova entidade chamada “new_esporte”, quando o Nome da Entidade do Relacionamento NxN é “contact_new_esporte”. Imagine que precisamos listar todos os esportes de um contato, faríamos assim:
string fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" + "<entity name='contact'>" + "<attribute name='contactid' />" + "<link-entity name='contact_new_esporte' from='contactid' to='contactid'> " + "<attribute name='new_name' />" + "</link-entity>" + "</entity>" + "</fetch>";
Vejam que não muda nada, é só o conceito mesmo…