IOrganizationService.Associate Method (String, Guid, Relationship, EntityReferenceCollection)


Applies To: Dynamics CRM 2015

Creates a link between records.

Namespace:   Microsoft.Xrm.Sdk
Assembly:  Microsoft.Xrm.Sdk (in Microsoft.Xrm.Sdk.dll)


void Associate(
    string entityName,
    Guid entityId,
    Relationship relationship,
    EntityReferenceCollection relatedEntities
void Associate(
    String^ entityName,
    Guid entityId,
    Relationship^ relationship,
    EntityReferenceCollection^ relatedEntities
abstract Associate : 
        entityName:string *
        entityId:Guid *
        relationship:Relationship *
        relatedEntities:EntityReferenceCollection -> unit
Sub Associate (
    entityName As String,
    entityId As Guid,
    relationship As Relationship,
    relatedEntities As EntityReferenceCollection


  • entityName
    Type: System.String

    Type: String. The logical name of the entity that is specified in the entityId parameter.

  • entityId
    Type: System.Guid

    Type: Guid. The ID of the record to which the related records are associated.


Message Availability

 This message works regardless whether the caller is connected to the server or offline.

Privileges and Access Rights

To perform this action, the caller must have privileges on the entity that is specified in the entityName parameter and access rights on the record that is specified in the entityId parameter. For a list of the required privileges, see Delete message privileges.

Notes for Callers

This method creates multiple associations in one transaction between the record that is specified by the entityId parameter and each record in the relatedEntities parameter for the specified relationship in the relationship parameter.

For a one-to-many relationship, this method sets the ReferencingAttribute in the related record to the value of the entityId.

For a many-to-many relationship, this method creates a record in the intersect table for the relationship, which contains the ID of both the referenced and referencing records. The intersect table name is defined in the IntersectEntityName property for the relationship. You need this when you query for the records. However, you need the relationship name to set the Relationship property. This name is defined in the SchemaName property for the relationship.

For more information about the exceptions that can be thrown when this method is called, see Handle exceptions in your code.

Supported Entities

You can use this method to associate any records that participate in a relationship, including records for custom entities.


The following example shows how to use the Associate method to create an association or link between records. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. You can find the complete sample in the sample code package in the folder SampleCode\CS\GeneralProgramming\LateBound\AssociateDisassociateDE.cs.

See Also

IOrganizationService Interface
Microsoft.Xrm.Sdk Namespace
Entity metadata
Customize entity relationship metadata
Sample: Associate records (early bound)
Handle exceptions in your code
Troubleshooting and error handling

Return to top

© 2016 Microsoft. All rights reserved. Copyright