CanBeReferencedRequest Class
Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Contains the data that is needed to check whether the specified entity can be the primary entity (one) in a one-to-many relationship.
For the Web API use the CanBeReferenced Action.
Namespace: Microsoft.Xrm.Sdk.Messages
Assembly: Microsoft.Xrm.Sdk (in Microsoft.Xrm.Sdk.dll)
Inheritance Hierarchy
System.Object
Microsoft.Xrm.Sdk.OrganizationRequest
Microsoft.Xrm.Sdk.Messages.CanBeReferencedRequest
Syntax
[DataContractAttribute(Namespace = "https://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class CanBeReferencedRequest : OrganizationRequest
<DataContractAttribute(Namespace := "https://schemas.microsoft.com/xrm/2011/Contracts")>
Public NotInheritable Class CanBeReferencedRequest
Inherits OrganizationRequest
Constructors
Name | Description | |
---|---|---|
CanBeReferencedRequest() | Initializes a new instance of the CanBeReferencedRequest class. |
Properties
Name | Description | |
---|---|---|
EntityName | Gets or sets the logical entity name to check whether it can be the primary entity 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 an asynchronous operation (system job). Optional. (Inherited from OrganizationRequest.) |
|
RequestName | Gets or sets the name of the request. Required, but is supplied by derived classes.(Inherited from OrganizationRequest.) |
Methods
Name | Description | |
---|---|---|
Equals(Object) | (Inherited from Object.) |
|
GetHashCode() | (Inherited from Object.) |
|
GetType() | (Inherited from Object.) |
|
ToString() | (Inherited from Object.) |
Remarks
Message Availability
For this message to work, the caller must be connected to the server.
Usage
Pass an instance of this class to the Execute method, which returns an instance of the CanBeReferencedResponse class.
Privileges and Access Rights
To perform this action, the caller must have the required privileges, as listed in CanBeReferenced message privileges.
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. For the complete sample, see the link later in this topic.
/// <summary>
/// Determines whether two entities are eligible to participate in a relationship
/// </summary>
/// <param name="referencedEntity">Primary Entity</param>
/// <param name="referencingEntity">Referencing Entity</param>
/// <returns></returns>
public bool EligibleCreateOneToManyRelationship(string referencedEntity,
string referencingEntity)
{
//Checks whether the specified entity can be the primary entity in one-to-many
//relationship.
CanBeReferencedRequest canBeReferencedRequest = new CanBeReferencedRequest
{
EntityName = referencedEntity
};
CanBeReferencedResponse canBeReferencedResponse =
(CanBeReferencedResponse)_serviceProxy.Execute(canBeReferencedRequest);
if (!canBeReferencedResponse.CanBeReferenced)
{
Console.WriteLine(
"Entity {0} can't be the primary entity in this one-to-many relationship",
referencedEntity);
}
//Checks whether the specified entity can be the referencing entity in one-to-many
//relationship.
CanBeReferencingRequest canBereferencingRequest = new CanBeReferencingRequest
{
EntityName = referencingEntity
};
CanBeReferencingResponse canBeReferencingResponse =
(CanBeReferencingResponse)_serviceProxy.Execute(canBereferencingRequest);
if (!canBeReferencingResponse.CanBeReferencing)
{
Console.WriteLine(
"Entity {0} can't be the referencing entity in this one-to-many relationship",
referencingEntity);
}
if (canBeReferencedResponse.CanBeReferenced == true
&& canBeReferencingResponse.CanBeReferencing == true)
{
return true;
}
else
{
return false;
}
}
''' <summary>
''' Determines whether two entities are eligible to participate in a relationship
''' </summary>
''' <param name="referencedEntity">Primary Entity</param>
''' <param name="referencingEntity">Referencing Entity</param>
''' <returns></returns>
Public Function EligibleCreateOneToManyRelationship(ByVal referencedEntity As String, ByVal referencingEntity As String) As Boolean
'Checks whether the specified entity can be the primary entity in one-to-many
'relationship.
Dim canBeReferencedRequest As CanBeReferencedRequest =
New CanBeReferencedRequest With {.EntityName = referencedEntity}
Dim canBeReferencedResponse As CanBeReferencedResponse =
CType(_serviceProxy.Execute(canBeReferencedRequest), CanBeReferencedResponse)
If Not canBeReferencedResponse.CanBeReferenced Then
Console.WriteLine("Entity {0} can't be the primary entity in this one-to-many relationship", referencedEntity)
End If
'Checks whether the specified entity can be the referencing entity in one-to-many
'relationship.
Dim canBereferencingRequest As CanBeReferencingRequest =
New CanBeReferencingRequest With {.EntityName = referencingEntity}
Dim canBeReferencingResponse As CanBeReferencingResponse =
CType(_serviceProxy.Execute(canBereferencingRequest), CanBeReferencingResponse)
If Not canBeReferencingResponse.CanBeReferencing Then
Console.WriteLine("Entity {0} can't be the referencing entity in this one-to-many relationship", referencingEntity)
End If
If canBeReferencedResponse.CanBeReferenced = True AndAlso canBeReferencingResponse.CanBeReferencing = True Then
Return True
Else
Return False
End If
End Function
Thread Safety
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
CanBeReferencedResponse
Microsoft.Xrm.Sdk.Messages Namespace
Sample: Create and retrieve entity relationships
EligibleCreateOneToManyRelationship
Entity relationship eligibility
CanBeReferenced message privileges
Return to top
Microsoft Dynamics 365
© 2016 Microsoft. All rights reserved. Copyright