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;
}
您可能还需要重新考虑您的比较逻辑,因为您可能最终会比较空值,我想这可能不是您想要的。请编辑您的帖子,因为它不清楚,我不理解您的问题描述。