使用 ExecuteMultiple 提高批量数据加载的性能
您可以使用 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 提高批量数据加载的性能相关推荐
- oracle批量加载,Oracle教程:使用SQL*Loader高速批量数据加载工具
Oracle教程:使用SQL*Loader高速批量数据加载工具 1.控制文件中包含要加载的数据 首先创建一张测试表 然后创建一个控制文件(其中包含被加载的数据) 然后在命令行执行加载 查看dept表 ...
- ARM 编程 LDM 批量数据加载指令——寄存器列表与书写顺序无关
格式: LDM{<cond>}{<type>} <Rn> {!}, <regs> {^} 功能:连续存储单元的字数据→寄存器(多个) 数据单位:字. 用 ...
- ETL 数据加载机制概述
ETL 是数据抽取(Extract).转换(Transform).加载(Load)的简写,它的功能是从数据源抽取出所需的数据,经过数据清洗和转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库 ...
- oracle 加载数据戽_走进大数据丨 ETL - Load(数据加载)
LOAD 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载数据加载(Load) 经过数据转换生成的文件的结构与数据仓库数据表的结构完全一致,可以直接通过数据加载工具,以Bulk Load ...
- Unity大场景数据加载及优化方案
前段时间,有几个虚拟仿真公司跟我请教关于大地形的加载优化问题,它们使用的引擎都是自己研发的,引擎对于开发者来说,大同小异,它们的基本构造是一样的,关键是在于解决问题的方法,正是基于这个前提写了这个课程 ...
- pytorch入门(二):数据加载和处理
pytorch入门(二):数据加载和处理 小引 数据加载 引包 数据集 编写辅助函数 显示图像及其特征点 定义数据集类 数据处理 组合变换 遍历数据集 其他注意事项 本章对应pytorch官方文档链接 ...
- PyTorch:数据加载,数学原理,猫鱼分类,CNN,预训练,迁移学习
1,数据加载 PyTorch开发了与数据交互的标准约定,所以能一致地处理数据,而不论处理图像.文本还是音频.与数据交互的两个主要约定是数据集(dataset)和数据加载器(dataloader).数据 ...
- ignite mysql_apache ignite系列(三):数据处理(数据加载,数据并置,数据查询)
使用ignite的一个常见思路就是将现有的关系型数据库中的数据导入到ignite中,然后直接使用ignite中的数据,相当于将ignite作为一个缓存服务,当然ignite的功能远不止于此,下面以将 ...
- PyTorch数据加载处理
PyTorch数据加载处理 PyTorch提供了许多工具来简化和希望数据加载,使代码更具可读性. 1.下载安装包 • scikit-image:用于图像的IO和变换 • pandas:用于更容易地进行 ...
最新文章
- Monkey测试2——Monkey测试策略
- python 安装opencv linux opencv 查看版本
- 在VS.NET中使用clickonce技术开发Winform程序
- Mysql学习(一)之简单介绍
- [Angularjs] 第一步开始一个项目
- commons-logging slf4j log4j 区别
- 陶瓷封装产品的6大优点
- 阿里云ICON全部下载
- 2022PMP考试敏捷知识点(2)
- 85条高级AutoCAD工程师绘图技巧(2)
- GPU并行计算版函数图像生成器
- CentOS 查看登陆成功和登陆失败日志
- NTP服务被利用做流量攻击以及检测预防手段
- 尾递归优化 - 尾递归优化
- 洛谷 P8584 探索未知 题解
- oracle固定资产结帐,如何控制必须先固定资产模块结帐,才可以总账模块结账。...
- Android组件之Service 与常用系统服务用法详解
- MARKS:路由器桥接
- 这么多编程语言,具体都是做什么的,我们应该怎么选?
- IMX6ULL鼠标光标显示到oled
热门文章
- js 循环拆词_javascript forEach通用循环遍历方法
- java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...
- ref的mysql_ref:Mysql授权远程登陆
- .data()与.detach()的区别
- 远程上传下载文件-Xftp5
- redis设置为null问题
- idea首次创建新模块的详细操作
- [bzoj1036]树的统计
- 帕斯卡命名法 pascal命名法
- Android 换肤demo,轻量快捷接入集成,判断是否夜间模式