Question

Is there any way to get the name of a relationship given the from and to entities?

I have a fairly dynamic piece of code that needs to Associate or Disassociate entities. In order to call these functions, I need to know the name of the relationship. I am not sure how to determine the relationship name just given the two entities.

For example, my code might need to disassociate an account with a contact. How can I determine the relationship name of "account_primary_contact"?

Was it helpful?

Solution

In the interest of answering the question despite my not understanding why you would want to do this:

foreach (OneToManyRelationshipMetadata relationshipMetaData in primaryEntityMetadata.ManyToOneRelationships)
{
    if (relationshipMetaData.ReferencingEntity == relatedEntity.LogicalName)
    {
        string relationshipName = relationshipMetaData.SchemaName;
        //Do something with your relationship?
    }
}

Where primaryEntityMetadata is of type EntityMetadata and ReferencingEntity is of type Entity. Then use similar logic for checking Many to One relationships.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top