Dynamics CRM 2015 Update1 现在能将多个消息放在同一个事务管道里面执行了。这确实是个极好的Feature呀,这样我们可以灵活的组合不同的消息来实现复杂的业务需求而不用担心处理失败后的回滚细节。
使用方法也是非常的简单,调用ExecuteTransactionRequest消息,并将想要放入事务的消息放入该事务中,并提交至服务器,统一执行。我们看看下面的代码片段:
ExecuteTransactionRequest req = new ExecuteTransactionRequest();
req.Requests = new OrganizationRequestCollection();
DeleteRequest delReq = new DeleteRequest();
delReq.Target = new EntityReference("account", Guid.Parse("{8B7228CF-FC21-E511-80E1-3863BB2E7CD8}"));
DeleteRequest delReq2 = new DeleteRequest();
delReq2.Target = new EntityReference("account", Guid.NewGuid());
req.Requests.Add(delReq);
req.Requests.Add(delReq2);
CrmSvc_Online.Execute(req);
第二个消息会报错,最终的结果是:没有任何记录被删除,是不是很酷呢?
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-05 12:57:46