其他分享
首页 > 其他分享> > 从ExecuteMultipleResponse方法检索失败的实体

从ExecuteMultipleResponse方法检索失败的实体

作者:互联网

我正在使用Execute Multiple Response类将Upsert的实体集合传递到Dynamics CRM中,我想知道如何将失败的实体名称添加到集合中,然后对每个这些实体使用异常处理.

解决方法:

假设您创建ExecuteMultipleRequest如下所示:

var entityCollection; // your EntityCollection
var requests = new ExecuteMultipleRequest();

foreach (var entity in entityCollection.Entities) {
    var upsertRequest = new UpsertRequest { Target = entity };
    requests.Requests.Add(upsertRequest);
}

您应该能够执行请求,遍历响应并为每个响应确定是否发生故障:

var responses = service.Execute(requests);
var errors = new List<Entity>();

foreach (var response in responses.Responses) {
    if (response.Fault != null) {
        var entity = entityCollection[response.RequestIndex];
        errors.Add(entity);
    }
}

response.RequestIndex用于通过匹配索引来访问响应的相应请求.

response.Responses包含ExecuteMultipleResponseItem的集合.有关其属性的文档,请参见here.

标签:dynamics-crm-online,c
来源: https://codeday.me/bug/20191111/2020752.html