动态 CRM 2011 - 如何在 CRM 中的查询表达式列中将空白或空值替换为默认值(即 0 或 "NA" )



我想要一个查询表达式,其中一列包含值,或者根据条件为空或null。示例-联系实体

firstName|LastName|Address1

name1|lastname1|
name2|lastname2|地址

姓名3|lastname3|address2

现在我想将那些空白列替换为"NA"在sql中,我们可以编写这样的查询-

select isnull(address1,'NA') as address from contact

我想在查询表达式中写入相同的查询

不可能让fetchxml来替换服务器端的值。但是,为什么不在提取属性值后更改它们呢?你最终会得到相同的结果

const string defaultValue = "NA";
var result = service.RetrieveMultiple(queryExpression);
foreach (var entity in result.Entities)
 {
      if (!entity.Attributes.ContainsKey("address1"))
      {
         entity.Attributes.Add(new KeyValuePair<string, object>("address1", null));
      }
      entity["address1"] = entity["address1"] ?? defaultValue;
  }

最新更新