GetValidReferencedEntities Message (MetadataService)

banner art

[Applies to: Microsoft Dynamics CRM 4.0]

Find the latest SDK documentation: CRM 2015 SDK

Works for all deployment types Works online only

Returns the set of entities that are valid as the primary entity (one) from the specified entity in a one-to-many relationship.

The relevant classes are specified in the following table.

Type Class
Request GetValidReferencedEntitiesRequest
Response GetValidReferencedEntitiesResponse

Remarks

If no entity is specified, this message returns all entities that can be the primary entity in a one-to-many relationship.

To perform this action, the caller must be a user in the organization for which metadata is requested and must have Read Attribute, Read Entity and Read Relationship privileges.

Example

The following example shows how to use the GetValidReferencedEntities message.

[C#]
// Create an authentication token.
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = "AdventureWorksCycle";

// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0; 

// Create the metadata Web service;
MetadataService metadataService = new MetadataService();
metadataService.Url = "http://<servername>:<port>/MSCRMServices/2007/MetadataService.asmx";
metadataService.CrmAuthenticationTokenValue = token;
metadataService.Credentials = System.Net.CredentialCache.DefaultCredentials;
metadataService.PreAuthenticate = true;

// Create the request.
GetValidReferencedEntitiesRequest validPrimaryEntitiesRequest = new GetValidReferencedEntitiesRequest();
validPrimaryEntitiesRequest.ReferencingEntityName = EntityName.account.ToString();

// Execute the request.
GetValidReferencedEntitiesResponse validPrimaryEntitiesResponse = (GetValidReferencedEntitiesResponse)metadataService.Execute(validPrimaryEntitiesRequest);

// Print all valid entities.
foreach (string validEntity in validPrimaryEntitiesResponse.EntityNames)
{
   Console.WriteLine("Valid Referenced Entity: " + validEntity);
}

[Visual Basic .NET]
' Set up the CRM Service.
Dim token As New CrmAuthenticationToken()
' You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0
token.OrganizationName = "AdventureWorksCycle";

// Create the metadata Web service.
Dim metadataService As New MetadataService ()
metadataService.Url = "http://<servername>:<port>/mscrmservices/2007/MetadataService.asmx";
metadataService.CrmAuthenticationTokenValue = token;
metadataService.Credentials = System.Net.CredentialCache.DefaultCredentials
metadataService.PreAuthenticate = true;

' Create the request.
Dim validPrimaryEntitiesRequest As New GetValidReferencedEntitiesRequest()
validPrimaryEntitiesRequest.ReferencingEntityName = EntityName.account.ToString()

' Execute the request.
Dim validPrimaryEntitiesResponse As GetValidReferencedEntitiesResponse = CType(metadataService.Execute(validPrimaryEntitiesRequest), GetValidReferencedEntitiesResponse)

' Print all valid entities.
For Each validEntity As String In validPrimaryEntitiesResponse.EntityNames
   Console.WriteLine("Valid Referenced Entity: " & validEntity)
Next validEntity

See Also

Concepts

Reference

© 2010 Microsoft Corporation. All rights reserved.