在CRM 2011中,如何创建记录并将其关联到同一个ExecuteMultipleRequest中

Tro*_*roy 3 crm dynamics-crm dynamics-crm-2011

我正在努力寻找一种方法来使用ExecuteMultipleRequest来创建记录并同时将其与其他记录相关联.到目前为止,我只是成功地首先创建了记录,然后在另一个请求中建立了我的关联.

使用此代码,它会抛出一个异常,它需要一个目标(需要先提交以创建记录并获取ID)

private AssociateRequest GetConfigurationRequest(VariableDataRequestModel receivedRequest)
{
    var configurationRelationship = new Relationship(ConfigurationRelationshipName);            
    var configurationEntities = new EntityReferenceCollection(new EntityReference[]{new EntityReference(ConfigurationEntityLogicalName,new Guid(receivedRequest.ConfigurationId))});                        
    var rtn = new AssociateRequest() {  RelatedEntities = configurationEntities, Relationship = configurationRelationship };
    return rtn;
}
Run Code Online (Sandbox Code Playgroud)

Gui*_*ite 6

实现的唯一方法ExecuteMultipleRequestId在创建记录之前指定新记录:

Guid accountId = new Guid("c85dca5d-6520-4436-a5f6-178b633af819");

Entity myAccount = new Entity("account");
myAccount["name"] = "TEST ACCOUNT";
entity.Id = accountId;
// ...
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(new EntityReference("account", accountId));
Run Code Online (Sandbox Code Playgroud)

指定Id允许但不建议.

  • 让平台创建顺序Guids可以提供更好的SQL性能:http://blogs.msdn.com/b/crminthefield/archive/2015/01/19/the-dangers-of-guid-newguid.aspx (2认同)