我必须使用系统字段ExecuteMultiple
上的过滤器来address1_postalcode
。
过滤条件是邮政编码应该在一个范围内。
我使用了这两个过滤器,但结果没有考虑到条件:
filter.Conditions.Add(
new ConditionExpression(
"address1_postalcode",
ConditionOperator.LessThan,
postalcodeMax
)
);
filter.Conditions.Add(
new ConditionExpression(
"address1_postalcode",
ConditionOperator.GreaterThan,
postalcodeMin
)
);
postalcodeMin
和postalcodeMax
是整数,我知道postalCode
字段是字符串。
你有什么想法吗?
答案 0 :(得分:1)
您无法在单行文本上执行此类查询:您必须将值转换为数字。
一个解决方案(在我的头顶)可能是创建一个自定义数字字段,并在检索时通过插件即时填写。
答案 1 :(得分:0)
在FetchXML和Query Expression中,大于和小于运算符都使用字符串。
虽然字符串和整数的排序可能不同,但您可以在条件中使用postalcodeMin.ToString()和postalcodeMax.ToString()开始。
作为参考,我成功测试了这些条件:
new ConditionExpression
{
AttributeName = "address1_postalcode",
Operator = ConditionOperator.GreaterEqual,
Values = {"88888"}
},
new ConditionExpression
{
AttributeName = "address1_postalcode",
Operator = ConditionOperator.LessEqual,
Values = {"99999" }
}
这个FetchXML:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<attribute name="ownerid" />
<filter type="and">
<condition attribute="owneridname" operator="gt" value="Smith" />
</filter>
</entity>
</fetch>