尝试在停用时删除记录时出错

时间:2012-11-14 11:43:57

标签: c# plugins dynamics-crm-2011

我有一条记录,当停用时我想要一个插件来自动删除记录。所以我将我的代码设置为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);
        }
    }

1 个答案:

答案 0 :(得分:1)

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