为什么 RowPersisted 在 Acumatica 中被执行了两次?

Why RowPersisted is executed twice in Acumatica?

假设我在图表中为某些 DAC 添加了某种 RowPersisted 实现。然后我在 RowPersisted 上设置调试器点。如果在调试模式下附加,RowPersisted 将被执行两次。为什么 RowPersisted 事件在保存期间在 Acumatica 中执行两次?

首先要考虑好,什么时候执行。它实际上执行了两次,第一次是在数据库事务期间,第二次是在事务提交或中止之后。所以,它是为了在提交之前修改数据,并且可能在提交或中止之后进行一些额外的操作。