- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大量记录需要添加到我的 CRM 数据库中。
我正在使用以下代码:
var emRequest = new ExecuteMultipleRequest {
Requests = entityCreateRequests,
Settings = new ExecuteMultipleSettings
{
ContinueOnError = true,
ReturnResponses = true
}
};
var createResponse = (ExecuteMultipleResponse)serviceProxy.Execute(emRequest);
由于记录数量较多,我必须将 entityCreateRequests
的总数拆分为 500 个批处理。现在我知道,如果 500 个批处理中的一个失败,则整个批处理失败了,这对我有好处。但是,我想为我的所有记录做一个交易,即使我必须一个一个地做。类似于 Entity Framework 中的事务,如下所示:
serviceProxy.begin();
for (i =0 ; i<totalTrans; i++) {
try {
var createResponse = (ExecuteMultipleResponse)serviceProxy.Execute(emRequest);
}
catch(e) {
serviceProxy.rollback();
break;
}
serviceProxy.commit();
}
非常感谢任何反馈。
最佳答案
您可以(并且可能应该)使用未绑定(bind)的 Action 来处理创建。例如,您可以有一个将 EntityCollection 作为输入参数的操作“CreateMultipleAccounts”。
在此操作中,您需要一个循环访问 EntityCollection 并创建记录的工作流程序集。您也可以在此工作流程序集中简单地执行 ExecuteMultipleRequest。
这样做的最大好处是操作作为单个事务执行,这意味着如果创建/更新失败,整个过程将回滚。
确保您选中了当然的启用回滚复选框。
编辑:Aileen Gusni 的一篇博文描述了这个实际场景和她的测试结果,您可以在 https://community.dynamics.com/crm/b/misscrm360exploration/archive/2015/07/05/utilizing-crm-custom-action-for-transaction-rollback-purposes 找到它。 .
关于dynamics-crm - xrm sdk 带有回滚的 ExecuteMultipleRequest 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218908/
我知道 ExecuteMultipleRequest从 CRM 外部执行批量更新时,这是一个巨大的性能助推器。我不知道从 CRM 插件中调用它是否有益。 我目前的理解是,使用 ExecuteMulti
我有大量记录需要添加到我的 CRM 数据库中。 我正在使用以下代码: var emRequest = new ExecuteMultipleRequest { Requests = entit
我在 CRM 中遇到一个场景,我需要使用外部 sql 数据库表中的值更新多个帐户值(文本字段和选项集)。我怎样才能使用执行多个请求来执行此操作。要求是将 CRM 中的所有帐户数据与我们来自 sql 表
我正在努力寻找一种方法来使用 ExecuteMultipleRequest 创建记录并将其同时关联到其他记录。到目前为止,我只成功地首先创建了记录,然后在另一个请求中设置了我的关联。 使用此代码会抛出
我是一名优秀的程序员,十分优秀!