一位客户要求一件非常有趣的事情。他们希望有两个操作 - 对上下文中的实体的更新和对要同时执行的另一个实体的更新。
在 SQL 中,它非常简单。如果需要,可以简单地回滚整个 shabang。但是,我从未见过它在 CRM 中完成。有可能吗?!
请注意,我正在寻找基于受支持方法的解决方案。
一位客户要求一件非常有趣的事情。他们希望有两个操作 - 对上下文中的实体的更新和对要同时执行的另一个实体的更新。
在 SQL 中,它非常简单。如果需要,可以简单地回滚整个 shabang。但是,我从未见过它在 CRM 中完成。有可能吗?!
请注意,我正在寻找基于受支持方法的解决方案。
同时可能不是正确的词,但是只要您使用插件上下文中提供的 IOrganizationService,您只需在操作前或操作后事件中更新操作第一个事务的插件中的第二个实体,就可以在同一个数据库事务中执行此操作.
抛出任何类型的异常都会“冒泡”导致整个事务回滚(假设您没有捕获和“吃掉”异常)
如果您使用早期绑定和OrganizationServiceContext,您可以向其中添加多个对象,然后在上下文中运行“SaveChanges()”以在一次调用中保存所有更改。