CreateOneToManyRequest Class
Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Contains the data that is needed to create a new One-to-Many (1:N) entity relationship.
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.CreateOneToManyRequest
Syntax
[DataContractAttribute(Namespace = "https://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class CreateOneToManyRequest : OrganizationRequest
<DataContractAttribute(Namespace := "https://schemas.microsoft.com/xrm/2011/Contracts")>
Public NotInheritable Class CreateOneToManyRequest
Inherits OrganizationRequest
Constructors
Name | Description | |
---|---|---|
CreateOneToManyRequest() | Initializes a new instance of the CreateOneToManyRequest class. |
Properties
Name | Description | |
---|---|---|
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.) |
|
Lookup | Gets or sets the metadata for the lookup field used to store the ID of the related record. Required. |
|
OneToManyRelationship | Gets or sets the metadata for the relationship. Required. |
|
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.) |
|
SolutionUniqueName | Gets or sets the name of the unmanaged solution you want to add this one-to-Many entity relationship to. Optional. |
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 CreateOneToManyResponse.
Privileges and Access Rights
To perform this action, the caller must have privileges listed in CreateOneToMany message privileges.
Notes for Callers
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. This sample creates an entity relationship between Account and Campaign entities by using CreateOneToManyRequest.
bool eligibleCreateOneToManyRelationship =
EligibleCreateOneToManyRelationship("account", "campaign");
if (eligibleCreateOneToManyRelationship)
{
CreateOneToManyRequest createOneToManyRelationshipRequest =
new CreateOneToManyRequest
{
OneToManyRelationship =
new OneToManyRelationshipMetadata
{
ReferencedEntity = "account",
ReferencingEntity = "campaign",
SchemaName = "new_account_campaign",
AssociatedMenuConfiguration = new AssociatedMenuConfiguration
{
Behavior = AssociatedMenuBehavior.UseLabel,
Group = AssociatedMenuGroup.Details,
Label = new Label("Account", 1033),
Order = 10000
},
CascadeConfiguration = new CascadeConfiguration
{
Assign = CascadeType.NoCascade,
Delete = CascadeType.RemoveLink,
Merge = CascadeType.NoCascade,
Reparent = CascadeType.NoCascade,
Share = CascadeType.NoCascade,
Unshare = CascadeType.NoCascade
}
},
Lookup = new LookupAttributeMetadata
{
SchemaName = "new_parent_accountid",
DisplayName = new Label("Account Lookup", 1033),
RequiredLevel = new AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
Description = new Label("Sample Lookup", 1033)
}
};
CreateOneToManyResponse createOneToManyRelationshipResponse =
(CreateOneToManyResponse)_serviceProxy.Execute(
createOneToManyRelationshipRequest);
_oneToManyRelationshipId =
createOneToManyRelationshipResponse.RelationshipId;
_oneToManyRelationshipName =
createOneToManyRelationshipRequest.OneToManyRelationship.SchemaName;
Console.WriteLine(
"The one-to-many relationship has been created between {0} and {1}.",
"account", "campaign");
}
Dim eligibleCreateOneToManyRelationship As Boolean =
Me.EligibleCreateOneToManyRelationship("account", "campaign")
If eligibleCreateOneToManyRelationship Then
Dim createOneToManyRelationshipRequest As CreateOneToManyRequest =
New CreateOneToManyRequest With {
.OneToManyRelationship = New OneToManyRelationshipMetadata With {
.ReferencedEntity = "account",
.ReferencingEntity = "campaign",
.SchemaName = "new_account_campaign",
.AssociatedMenuConfiguration =
New AssociatedMenuConfiguration With {
.Behavior = AssociatedMenuBehavior.UseLabel,
.Group = AssociatedMenuGroup.Details,
.Label = New Label("Account", 1033),
.Order = 10000},
.CascadeConfiguration =
New CascadeConfiguration With {
.Assign = CascadeType.Cascade,
.Delete = CascadeType.Cascade,
.Merge = CascadeType.Cascade,
.Reparent = CascadeType.Cascade,
.Share = CascadeType.Cascade,
.Unshare = CascadeType.Cascade
}
},
.Lookup = New LookupAttributeMetadata With {
.SchemaName = "new_parent_accountid",
.DisplayName = New Label("Account Lookup", 1033),
.RequiredLevel = New AttributeRequiredLevelManagedProperty(AttributeRequiredLevel.None),
.Description = New Label("Sample Lookup", 1033)
}
}
Dim createOneToManyRelationshipResponse As CreateOneToManyResponse =
CType(_serviceProxy.Execute(createOneToManyRelationshipRequest), CreateOneToManyResponse)
_oneToManyRelationshipId = createOneToManyRelationshipResponse.RelationshipId
_oneToManyRelationshipName = createOneToManyRelationshipRequest.OneToManyRelationship.SchemaName
Console.WriteLine("The one-to-many relationship has been created between {0} and {1}.", "account", "campaign")
End If
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
CreateOneToManyResponse
Microsoft.Xrm.Sdk.Messages Namespace
Entity relationship eligibility
Create and retrieve entity relationships
Customize entity relationship metadata
Entity relationship behavior
Sample: Create and retrieve entity relationships
Sample: Dump entity relationship information to a file
Return to top
Microsoft Dynamics 365
© 2016 Microsoft. All rights reserved. Copyright