【发布时间】:2015-02-18 11:52:03
【问题描述】:
我有一个同步插件,可以在任何机会创建/删除/更新时运行。如果出现任何错误,我会在插件中创建一个将日志插入数据库的功能。
如果是EntityId,则在表一字段中,所以我正在编写以下代码:
foreach (PropertyBagEntry entry in (IEnumerable<PropertyBagEntry>)context.InputParameters.Values)
{
DynamicEntity entity = (DynamicEntity)entry.Value;
foreach (Property property in (IEnumerable<Property>)entity.Properties)
{
if (property.GetType().Name == "KeyProperty")
{
str4 = ((Key)entity.Properties[property.Name]).Value.ToString();
break;
}
}
}
在 str4 中,我正在获取当前进程的 EntityId。
但它非常频繁地给出一个例外:
未处理的异常:System.InvalidCastException:无法转换类型的对象 'ValueCollection [System.String,System.Object]' 输入'System.Collections.Generic.IEnumerable`1[Microsoft.Crm.Sdk.PropertyBagEntry]'
我已经确定以下行给出错误
foreach((IEnumerable)context.InputParameters.Values 中的PropertyBagEntry 条目)
有人知道用另一种方式转换这条线吗?
【问题讨论】:
-
这看起来是 CRM 4.0 代码,因为 DynamicEntity 是一个 4.0 SDK 实体...
标签: dynamics-crm dynamics-crm-2013