插件与帖子我试图创建消息更新

时间:2016-10-20 07:09:31

标签: dynamic dynamics-crm-2016

在create(post post)上注册了一个插件。它有效,但之后我在表单上添加了两个字段。在创建时,我正在更新表单的字段值。它有效,但在比较结果实体属性时失败:

QueryExpression QrySales = new QueryExpression() { EntityName = Sales.LogicalName, ColumnSet = new ColumnSet(true) };
EntityCollection SalesCollec = Service.RetrieveMultiple(QrySales);
foreach (Entity sales in SalesCollec.Entities)
{
  if (sales["new_membername"].ToString() ==  UpdateSales["new_membername"].ToString())
  {
     index = index + 1;
  }
}
UpdateSales["new_index"] = index + 1;
Service.Update(UpdateSales);

1 个答案:

答案 0 :(得分:0)

您明确地将属性的值转换为字符串,而该字符串在属性集合中很可能不存在。检查返回的实体属性集合中是否存在名为new_membername的属性,或使用Microsoft.Xrm.Client库中的帮助程序方法安全地获取属性值。

if (sales.GetAttributeValue<string>("new_membername") == 
    UpdateSales.GetAttributeValue<string>("new_membername"))
{
    index = index + 1;
}

您可能还想重新考虑比较逻辑,因为您最终可能会比较空值,这可能不是您想要的。