.net CRM 2011 IOOrganizationService.SaveChanges()方法是否在事务中处理?

.net CRM 2011 IOOrganizationService.SaveChanges()方法是否在事务中处理?,.net,dynamics-crm,dynamics-crm-2011,.net,Dynamics Crm,Dynamics Crm 2011,我使用CRM 2011 SDK工具为早期绑定的实体生成类。 我的需求包括一个借贷场景。 因此,如果一个创建对象失败,则必须回滚另一个 我找不到有关上述方法是否在事务中执行操作的信息 有人能证实吗 谢谢取决于您如何执行创建调用 外部,例如从控制台应用程序。那就不行了。CRM 2015/2016引入了从外部应用程序进行事务调用的功能 Microsoft Dynamics 365在线和内部部署支持批处理 请求转换为单个web服务方法调用。中的每个请求 批处理作为单个数据库事务的一部分执行。失败 任何成

我使用CRM 2011 SDK工具为早期绑定的实体生成类。 我的需求包括一个借贷场景。 因此,如果一个创建对象失败,则必须回滚另一个

我找不到有关上述方法是否在事务中执行操作的信息

有人能证实吗


谢谢

取决于您如何执行创建调用

外部,例如从控制台应用程序。那就不行了。CRM 2015/2016引入了从外部应用程序进行事务调用的功能

Microsoft Dynamics 365在线和内部部署支持批处理 请求转换为单个web服务方法调用。中的每个请求 批处理作为单个数据库事务的一部分执行。失败 任何成功完成的请求都会导致任何 已完成的请求,不会对请求执行进一步的处理 尚未执行

如果您在插件内部执行,则创建调用可能会包含在事务中,具体取决于插件的注册

插件可以在事务的数据库中执行,也可以不在事务的数据库中执行 Microsoft Dynamics CRM平台。插件是否是 事务取决于消息请求的处理方式 管道。您可以检查插件是否正在事务中执行 通过读取继承的IsInTransaction属性 传递给插件的IPluginExecutionContext。如果插件是 在数据库事务中执行,并允许执行异常 传递回平台,整个事务将被滚动 返回阶段20和40保证是数据库的一部分 第10阶段和第50阶段可能是交易的一部分

在数据库事务期间执行的任何已注册插件 然后将异常传递回平台,取消核心 活动这将导致核心操作的回滚。在里面 此外,任何已注册的事件前或事件后插件 尚未执行以及由同一事件触发的任何工作流 为其注册的插件将不会执行