从 ExecuteMultipleResponse 方法中检索失败的实体
Retrieve failed entities from ExecuteMultipleResponse method
我正在使用执行多重响应 class 将 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);
}
您应该能够执行请求,遍历 responses
并为每个确定是否发生错误:
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
用于通过匹配它们的索引来访问响应的对应请求。
responses.Responses
包含 ExecuteMultipleResponseItem
的集合。可在 here.
中找到有关其属性的文档
我正在使用执行多重响应 class 将 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);
}
您应该能够执行请求,遍历 responses
并为每个确定是否发生错误:
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
用于通过匹配它们的索引来访问响应的对应请求。
responses.Responses
包含 ExecuteMultipleResponseItem
的集合。可在 here.