CanBeReferencedRequest Class

Definition

Contains the data that is needed to check whether the specified table can be the primary table (one) in a one-to-many relationship.

public ref class CanBeReferencedRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class CanBeReferencedRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")>]
type CanBeReferencedRequest = class
    inherit OrganizationRequest
Public NotInheritable Class CanBeReferencedRequest
Inherits OrganizationRequest
Inheritance
CanBeReferencedRequest
Attributes

Examples

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface instance.

/// <summary>
/// Determines whether two tables are eligible to participate in a one-to-many relationship
/// </summary>
/// <param name="service">Authenticated IOrganizationService instance</param>
/// <param name="referencedEntityLogicalName">Primary table</param>
/// <param name="referencingEntityLogicalName">Referencing table</param>
/// <returns>Whether the tables are eligble.</returns>
public static bool CheckEligibilityForOneToManyRelationship(IOrganizationService service,
      string referencedEntityLogicalName,
      string referencingEntityLogicalName)
{
      //Checks whether the specified table can be the primary table in one-to-many
      //relationship.
      CanBeReferencedRequest canBeReferencedRequest = new()
      {
         EntityName = referencedEntityLogicalName
      };

      var canBeReferencedResponse =
         (CanBeReferencedResponse)service.Execute(canBeReferencedRequest);

      //Checks whether the specified table can be the referencing table in one-to-many
      //relationship.
      CanBeReferencingRequest canBeReferencingRequest = new()
      {
         EntityName = referencingEntityLogicalName
      };

      CanBeReferencingResponse canBeReferencingResponse =
         (CanBeReferencingResponse)service.Execute(canBeReferencingRequest);

      return canBeReferencedResponse.CanBeReferenced && canBeReferencingResponse.CanBeReferencing;
}

Also see Sample: Create and retrieve table relationships.

Sample code on GitHub

Create and retrieve table relationships

Remarks

For the Web API use the CanBeReferenced action.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of the CanBeReferencedResponse class.

Privileges and Access Rights

To perform this action, the caller must have Read privileges to the tables referenced.

Constructors

CanBeReferencedRequest()

Initializes a new instance of the CanBeReferencedRequest class.

Properties

EntityName

Gets or sets the logical table name to check whether it can be the primary table in a one-to-many relationship. Required.

ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
RequestId

Gets or sets the ID of the request. Optional.

(Inherited from OrganizationRequest)
RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)

Applies to

See also