0

我有一条记录,在停用时我希望插件自动删除该记录。因此,我将我的代码设置为 SetStateDynamically 事件,并且这一切都有效,直到我实际让服务删除记录,我得到“发生意外错误”。

我的代码在下面,任何人都可以看到问题可能是什么,或者能够指出我正确的方向吗?

谢谢

private void MarkForDeleteDeactivatedRole(EntityReference entity)
    {
        Entity role = Service.Retrieve("sb_contactsecurityrole", entity.Id, new ColumnSet(true));

        OptionSetValue statusValue = (OptionSetValue)role["statecode"];

        if (statusValue.Value == 1)
        {                
            Service.Delete(entity.LogicalName, entity.Id);
        }
    }
4

1 回答 1

1

我见过同样的情况。我认为 CRM 事件管道不支持在处理该对象时删除记录。您可能能够做的最好的事情是异步注册您的插件,因此错误(您无法捕获,因为它在 CRM 事件管道内部)不会冒泡到 UI(并且您不在交易范围内)。

于 2012-11-14T18:08:32.250 回答