Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamic 带有post im的插件尝试在创建消息时使用udate_Dynamic_Dynamics Crm 2016 - Fatal编程技术网

Dynamic 带有post im的插件尝试在创建消息时使用udate

Dynamic 带有post im的插件尝试在创建消息时使用udate,dynamic,dynamics-crm-2016,Dynamic,Dynamics Crm 2016,在创建(后期操作)时注册插件。它可以工作,但之后我在表单上添加了两个字段。在创建时,我正在更新表单的字段值。它可以工作,但在比较结果实体属性时失败: QueryExpression QrySales = new QueryExpression() { EntityName = Sales.LogicalName, ColumnSet = new ColumnSet(true) }; EntityCollection SalesCollec = Service.RetrieveMultiple(Q

在创建(后期操作)时注册插件。它可以工作,但之后我在表单上添加了两个字段。在创建时,我正在更新表单的字段值。它可以工作,但在比较结果实体属性时失败:

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);

您正在显式地将属性的值强制转换为字符串,该字符串在属性集合中很可能不存在。检查返回的实体属性集合中是否存在名为
new\u membername
的属性,或者使用
Microsoft.Xrm.Client
库中的帮助器方法安全地获取属性值

if (sales.GetAttributeValue<string>("new_membername") == 
    UpdateSales.GetAttributeValue<string>("new_membername"))
{
    index = index + 1;
}
if(sales.GetAttributeValue(“new_membername”)==
UpdateSales.GetAttributeValue(“新成员名”))
{
指数=指数+1;
}

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

请编辑您的帖子,因为它不清楚,我不理解您的问题描述。