MSCRM365 在线版本的connection Alternate key使用 MultipleRequest批量查询提交
来源:互联网 发布:哪个软件有姜草漫画 编辑:程序博客网 时间:2024/05/25 19:58
最近项目用到online版本的MS Dynamic CRM开发,以前一直都是用本地Server版本的,这里记录下开发遇到的一些问题。如何在C#code中,创建与crm的连接。
- 在connectionstring添加CRM 连接信息,以前server里是用service去call,现在可以直接用登录的domain name URL, admin的用户名和密码。
<add name="Xrm" connectionString="AuthType=Office365;Url=https://dev.crm5.dynamics.com; Username=username; Password=password;" />添加引用的reference,你可以在官方SDK中下载找到。 主要是下面我标出来的,用tooling.Connector 这个工具包去创建connection。
代码中拿到CRM connectionString
var connectionStr = ConfigurationManager.ConnectionStrings["Xrm"].ToString();可以看到 connector中很多不同参数的构造方法。实现new 一个CrmServiceClient,
然后代码里直接这样用就可以。
using (var service = new CrmServiceClient(connectionStr)) { var query = new QueryExpression("product") { ColumnSet = new ColumnSet(true) }; var result = service.RetrieveMultiple(query); }
Alternatekey,使用,有时候做数据更新或者查询时候,希望根据一个一个外键进行操纵,这里可以用到Alternatekey 很容易操做。在entity下面创建alternate key,然后在code中
创建实体的时候就可以用了。
var product = new Entity(Constants.EntityName.Entity_Product, "KeyName", keyValue);
product["url"] = requestEntity.URL; UpdateRequest request = new UpdateRequest { Target = product }; service.Execute(request);如果有多个请求数据需要update操作,我们可以用MultipleRequest做批量提交
new 一个 ExecuteMultipleRequest 类如下,在foreach循环中没次都添加到reuqest中,但是没有提交。
ExecuteMultipleRequest multipleRequest = new ExecuteMultipleRequest { Settings = new ExecuteMultipleSettings { ContinueOnError = true, ReturnResponses = true }, Requests = new OrganizationRequestCollection() }; var initCount = 0; var processingTime = 1;
Entity updateEntity = new Entity("entityName", "keyName", keyValue);
UpsertRequest request = new UpsertRequest { Target = updateEntity }; multipleRequest.Requests.Add(request);这里每次批量提交999条起更新操作。每次操作完了清空request,然后继续。
initCount++; if ((memberlist.Count < 999 && memberlist.Count == initCount) || initCount >= 999 * processingTime || ((memberlist.Count - initCount) < 999 && memberlist.Count == initCount)) { ExecuteMultipleResponse MultipleResponse = (ExecuteMultipleResponse)service.Execute(multipleRequest);
processingTime++; multipleRequest.Requests.Clear(); }
阅读全文
0 0
- MSCRM365 在线版本的connection Alternate key使用 MultipleRequest批量查询提交
- alternate key
- Dynamics CRM2016 WebApi之alternate key的更新与删除
- 在线域名批量查询工具
- Python实现批量执行ArcGIS版本的协调和提交
- ubuntu desktop cd、server、alternate三个版本的区别
- ubuntu中liveCD、desktop与alternate版本的区别
- ubuntu中liveCD、desktop与alternate版本的区别
- Ubuntu中liveCD、desktop与alternate版本的区别
- ubuntu中desktop与alternate版本的区别
- java memcached客户端,模糊查询/批量删除/查询所有的key
- 使用Linux管道批量删除Redis的key
- 如何使用特定的SSH Key提交GIT
- connection的手动提交事务
- 利用在线词典批量查询英语单词
- Dynamics CRM2016 为实体创建Alternate Key时报有重复的键的解决方法
- java使用PreparedStatement的addBatch批量提交数据到mysql
- 关于ssh key 的使用(git版本管理工具)
- R-FCN: Object Detection via Region-based Fully Convolutional Networks 论文笔记
- [Offer收割]编程练习赛29 题目1 : 逃离迷宫4
- MySQL无法同时多个客户端进行连接解决方案
- 数据类型的转换
- Coins vs. Tokens,ICO和Token launch有什么区别?
- MSCRM365 在线版本的connection Alternate key使用 MultipleRequest批量查询提交
- 字符串查找-bf kmp
- Myeclipse2017ci7破解工具及教程
- 网络流 最大权闭合子图
- 设计模式-简单工厂模式
- 分页设计(加搜索)
- 哈理工oj 1612 方格问题
- redis高级
- linux常用基本命令