您可以使用 ExecuteMultipleRequest 消息在 Microsoft Dynamics CRM Online 2016 Update 和 Microsoft Dynamics CRM 2016(本地) 中(尤其在 Internet 延迟可能是最大限制因素的 Microsoft Dynamics CRM Online 中)支持更高吞吐批量消息传递方案。ExecuteMultipleRequest 接受消息 Requests 的输入集合,按消息请求在输入集合中出现的顺序执行每个消息请求,还可以返回包含发生的每个消息的响应或错误的 Responses 的集合。

示例

// Get a reference to the organization service.
using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
{// Enable early-bound type support to add/update entity records required for this sample._serviceProxy.EnableProxyTypes();#region Execute Multiple with Results// Create an ExecuteMultipleRequest object.requestWithResults = new ExecuteMultipleRequest(){// Assign settings that define execution behavior: continue on error, return responses. Settings = new ExecuteMultipleSettings(){ContinueOnError = false,ReturnResponses = true},// Create an empty organization request collection.Requests = new OrganizationRequestCollection()};// Create several (local, in memory) entities in a collection. EntityCollection input = GetCollectionOfEntitiesToCreate();// Add a CreateRequest for each entity to the request collection.foreach (var entity in input.Entities){CreateRequest createRequest = new CreateRequest { Target = entity };requestWithResults.Requests.Add(createRequest);}// Execute all the requests in the request collection using a single web method call.ExecuteMultipleResponse responseWithResults =(ExecuteMultipleResponse)_serviceProxy.Execute(requestWithResults);// Display the results returned in the responses.foreach (var responseItem in responseWithResults.Responses){// A valid response.if (responseItem.Response != null)DisplayResponse(requestWithResults.Requests[responseItem.RequestIndex], responseItem.Response);// An error has occurred.else if (responseItem.Fault != null)DisplayFault(requestWithResults.Requests[responseItem.RequestIndex], responseItem.RequestIndex, responseItem.Fault);}

ExecuteMultipleRequest 的 Settings 参数适用于控制执行行为和返回结果的请求集合中的所有请求。我们更详细地看一下这些选项。

ExecuteMultipleSettings 成员 说明

ContinueOnError

当为 true 时,继续处理集合中的下一个请求,即使从集合中当前请求的处理中返回错误。当为 false 时,不要继续处理下一个请求。

ReturnResponses

当为 true 时,从处理的每个消息请求返回响应。当为 false 时,不返回响应。

如果设置为 true 且请求不返回一个响应,由于这是其设计,因此该请求的 ExecuteMultipleResponseItem 设置为

不过,即使为 false,如果返回错误, Responses 程序集将不为空。如果返回错误,则每个已处理请求的集合中将有一个响应项返回错误,Fault 将设置为发生的实际错误。

转载于:https://www.cnblogs.com/zhwlxsch/p/6149456.html

使用 ExecuteMultiple 提高批量数据加载的性能相关推荐

  1. oracle批量加载,Oracle教程:使用SQL*Loader高速批量数据加载工具

    Oracle教程:使用SQL*Loader高速批量数据加载工具 1.控制文件中包含要加载的数据 首先创建一张测试表 然后创建一个控制文件(其中包含被加载的数据) 然后在命令行执行加载 查看dept表 ...

  2. ARM 编程 LDM 批量数据加载指令——寄存器列表与书写顺序无关

    格式: LDM{<cond>}{<type>} <Rn> {!}, <regs> {^} 功能:连续存储单元的字数据→寄存器(多个) 数据单位:字. 用 ...

  3. ETL 数据加载机制概述

    ETL 是数据抽取(Extract).转换(Transform).加载(Load)的简写,它的功能是从数据源抽取出所需的数据,经过数据清洗和转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库 ...

  4. oracle 加载数据戽_走进大数据丨 ETL - Load(数据加载)

    LOAD 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载数据加载(Load) 经过数据转换生成的文件的结构与数据仓库数据表的结构完全一致,可以直接通过数据加载工具,以Bulk Load ...

  5. Unity大场景数据加载及优化方案

    前段时间,有几个虚拟仿真公司跟我请教关于大地形的加载优化问题,它们使用的引擎都是自己研发的,引擎对于开发者来说,大同小异,它们的基本构造是一样的,关键是在于解决问题的方法,正是基于这个前提写了这个课程 ...

  6. pytorch入门(二):数据加载和处理

    pytorch入门(二):数据加载和处理 小引 数据加载 引包 数据集 编写辅助函数 显示图像及其特征点 定义数据集类 数据处理 组合变换 遍历数据集 其他注意事项 本章对应pytorch官方文档链接 ...

  7. PyTorch:数据加载,数学原理,猫鱼分类,CNN,预训练,迁移学习

    1,数据加载 PyTorch开发了与数据交互的标准约定,所以能一致地处理数据,而不论处理图像.文本还是音频.与数据交互的两个主要约定是数据集(dataset)和数据加载器(dataloader).数据 ...

  8. ignite mysql_apache ignite系列(三):数据处理(数据加载,数据并置,数据查询)

    ​使用ignite的一个常见思路就是将现有的关系型数据库中的数据导入到ignite中,然后直接使用ignite中的数据,相当于将ignite作为一个缓存服务,当然ignite的功能远不止于此,下面以将 ...

  9. PyTorch数据加载处理

    PyTorch数据加载处理 PyTorch提供了许多工具来简化和希望数据加载,使代码更具可读性. 1.下载安装包 • scikit-image:用于图像的IO和变换 • pandas:用于更容易地进行 ...

最新文章

  1. Monkey测试2——Monkey测试策略
  2. python 安装opencv linux opencv 查看版本
  3. 在VS.NET中使用clickonce技术开发Winform程序
  4. Mysql学习(一)之简单介绍
  5. [Angularjs] 第一步开始一个项目
  6. commons-logging slf4j log4j 区别
  7. 陶瓷封装产品的6大优点
  8. 阿里云ICON全部下载
  9. 2022PMP考试敏捷知识点(2)
  10. 85条高级AutoCAD工程师绘图技巧(2)
  11. GPU并行计算版函数图像生成器
  12. CentOS 查看登陆成功和登陆失败日志
  13. NTP服务被利用做流量攻击以及检测预防手段
  14. 尾递归优化 - 尾递归优化
  15. 洛谷 P8584 探索未知 题解
  16. oracle固定资产结帐,如何控制必须先固定资产模块结帐,才可以总账模块结账。...
  17. Android组件之Service 与常用系统服务用法详解
  18. MARKS:路由器桥接
  19. 这么多编程语言,具体都是做什么的,我们应该怎么选?
  20. IMX6ULL鼠标光标显示到oled

热门文章

  1. js 循环拆词_javascript forEach通用循环遍历方法
  2. java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...
  3. ref的mysql_ref:Mysql授权远程登陆
  4. .data()与.detach()的区别
  5. 远程上传下载文件-Xftp5
  6. redis设置为null问题
  7. idea首次创建新模块的详细操作
  8. [bzoj1036]树的统计
  9. 帕斯卡命名法 pascal命名法
  10. Android 换肤demo,轻量快捷接入集成,判断是否夜间模式