Dynamics crm 2011 单个事务中的多个操作

Dynamics crm 2011 单个事务中的多个操作,dynamics-crm-2011,Dynamics Crm 2011,一位顾客要求一件很有趣的东西。他们希望有两个操作—在上下文和中对实体进行更新,同时对另一个实体进行更新 在SQL中,它非常简单。如果需要的话,你可以简单地把整个沙邦卷回去。然而,我从未在CRM中看到过它。有可能吗 请注意,我正在寻找一种基于支持方法的解决方案。同时可能不是正确的词,但是,只要使用插件上下文中提供的IOOrganizationService,您就可以在同一数据库事务中通过在操作前或操作后事件中更新插件中操作第一个事务的第二个实体来完成此操作 抛出任何类型的异常都会“冒泡”,导致整个

一位顾客要求一件很有趣的东西。他们希望有两个操作—在上下文中对实体进行更新,同时对另一个实体进行更新

在SQL中,它非常简单。如果需要的话,你可以简单地把整个沙邦卷回去。然而,我从未在CRM中看到过它。有可能吗


请注意,我正在寻找一种基于支持方法的解决方案。

同时可能不是正确的词,但是,只要使用插件上下文中提供的IOOrganizationService,您就可以在同一数据库事务中通过在操作前或操作后事件中更新插件中操作第一个事务的第二个实体来完成此操作


抛出任何类型的异常都会“冒泡”,导致整个事务回滚(假设您没有捕获并“吃掉”异常)

如果您使用的是早期绑定和,则可以向其添加多个对象,然后在上下文上运行“SaveChanges()”,以便在一次调用中保存所有更改。

我不知道这一点。谢谢,伙计!然而,我不知道你所说的“或后期操作”是什么意思。有3个插件状态需要注册一个插件。预验证(在CRM进行验证之前和任何数据库事务之前)、数据库事务中的预操作,但在实体进行任何CRUD操作之前)和后操作(在数据库事务中但在CRUD操作之后)都德,我一定是瞎了。。。我发誓“手术中或手术后”都有。太累了还是什么的…顺便说一下,我需要澄清一下。假设我正在运行一个插件,并在其中更改了两个实例。如果抄写员对其中一个进行写/读操作,是否可以保证不会发生任何意外?DB会在整个插件执行过程中锁定记录吗?是的,没有任何魔法在进行。当初始插件运行时,数据库事务开始。只要您在插件上下文中使用IOOrganizationService,您就可以保证在数据库事务中执行。不过,这实际上不是事务性的,如果其中一个操作失败,其余操作仍将提交。确保可靠交易的唯一方法是在插件管道中进行,如回答中所述。我的坏印象是,它们以某种方式被链接,但当我仔细阅读时,它没有这样说。对不起,伙计。根据要求延迟装订。:)