У меня есть синхронный плагин, который запускается при любой возможности создания/удаления/обновления. И в плагине, если возникла какая-либо ошибка, я сделал функцию, которая вставляет журнал в базу данных.Невозможно лить объект типа CRM 2013 Plugin
В таблице одно поле, если 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]
И я определил, что следующая строка дает ошибку
Еогеасп (запись PropertyBagEntry в (IEnumerable) context.InputParame ters.Values)
У кого-нибудь есть идея преобразовать эту строку по-другому?
Это выглядит CRM 4.0 код, поскольку DynamicEntity является 4,0 SDK сущность ... – Daryl