Dynamics CRM插件的"创建"阶段缺少字段



当用户尚未填充目标实体时,是否有方法在操作前阶段访问该实体的空字段?

简短的答案是否定的。
目标只包含其值已更改或删除的属性
图像仅包含在插件注册工具中选择的属性。但它们仍然不包含具有NULL值的属性
如果你告诉我们更多关于你的发展,也许我们可以提出其他建议。

您可以通过Entity.Contains()Entity.GetAttributeValue<T>()访问字段。如果字段尚未填充,则Entity.Contains()将返回falseEntity.GetAttributeValue<T>()将返回default(T)

示例:

// Entity.Contains(), use this to judge if entity contains a certains field.
if (targetEntity.Contains("yourfiledname"))
{
var field = targetEntity.GetAttributeValue<string>("yourfiledname");
if (string.IsNullOrEmpty(field))
{
// do your logic
}
}
// Entity.GetAttributeValue<T>() this return a T or default(T).
var optionsetField = targetEntity.GetAttributeValue<OptionSetValue>("someoptionsetfield");
if (optionsetField != null)
{
// do your logic
}

最新更新