c# - Programatically creating LookupAttributeMetadata in Dynamics CRM 2015 -
i migrate dynamics crm 2011 on premise instance dynamics crm 2015 online.
i'm using current dyanmics crm sdk (current version 7.1) , have managed migrate custom attributes, except virtual
, lookup
ones, can't created via createattributerequest
.
now next, need migrate relationships. far i've been able necessary onetomanyrelationshipmetadata
, manytomanyrelationshipmetadata
. however, onetomanyrelationshipmetadata
need pass lookupattributemetadata
createattributerequest
.
onetomanyrelationshiprequest request = new onetomanyrelationshiprequest() { lookup = new lookupattributemetadata() { schemaname = "new_topicid", displayname = new label("subject", 1033), description = new label("subject description", 1033) }, onetomanyrelationship = new onetomanyrelationshipmetadata() { referencedentity = "subject", referencedattribute = "subjectid", referencingentity = "customer", referencingattribute = "new_topicid" } }
however, exception attribute new_topicid
doesn't exist. may make sense, since had skip during attribute creation earlier (since can't created through createattributerequest
).
is there other way how can migrate lookupattributemetadata
or onetomanyrelationshipmetadata
/manytomanyrelationshipmetadata
dynamics crm online?
there sample on msdn this.
the sample has more parameters code above cause of problem.
sample: create , retrieve entity relationships
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) } };
Comments
Post a Comment