2

我正在使用 Microsoft 的 CRM 软件 (4.0),并且正在尝试构建查询表达式。仅查询字符串值时效果很好,但现在我需要包含一个 CRMBoolean 类型的字段。我还应该提到我正在查询自定义实体。

所以以前,在我的查询中,我只会搜索几个字段,但它们都是 String 类型。现在我需要为 CRMBoolean 添加另一个 ConditionExpression。我正在搜索的自定义实体类型有一个名为“条件”的字段 - 其值为“真”或“假”。在 CRM 中,属性被定义为一点,但我认为这不会产生影响。

这是我试图用来查找条件为“true”的记录的代码:

oCondition = New ConditionExpression()
oCondition.AttributeName = "myEntity_condition"
oCondition.Operator = ConditionOperator.Like

Dim bool As New CrmBoolean
bool.Value = True
oCondition.Values = New Object() {bool}

listConditions.Add(oCondition)

我没有收到错误,但实际上什么也没发生。返回的记录数永远不会以一种或另一种方式改变。有没有人这样做过?

提前致谢!

4

2 回答 2

2

我不知道 like 运算符在布尔值上的行为方式。我想知道它是否被忽略了。试试 ConditionOperator.Equal。

于 2011-05-02T16:28:41.957 回答
2

无需将 CrmBoolean 对象放入 oCondition.Values 数组中,只需放入常规的真/假布尔值即可。我也同意 benjynito 将其更改为 ConditionOperator.Equals 而不是 Like。

于 2011-05-02T16:51:28.370 回答