MS Dynamics - QueryExpression 与 ConditionOperator.In 结果没有结果,但与 ConditionOperator.Equal 一起使用

Dre*_*mor 3 c# microsoft-dynamics dynamics-crm query-expressions dynamics-365

我正在尝试进行查询以检索包含字符串列表中的文本之一的所有记录。

    QueryExpression query = new QueryExpression("account")
                {
                    ColumnSet = new ColumnSet("primarycontactid", "new_text"),
                    NoLock = true,
                    Criteria =
                    {
                        Conditions =
                        {
                            new ConditionExpression()
                            {
                                AttributeName = "new_text",
                                Operator = ConditionOperator.In,
                                Values = { texts.ToArray() }
                            }
                        }
                    }
                };
Run Code Online (Sandbox Code Playgroud)

此代码执行没有问题,但不返回任何记录。

我还尝试了以下代码,导致返回多条记录。

    QueryExpression query = new QueryExpression("account")
                {
                    ColumnSet = new ColumnSet("primarycontactid", "new_text"),
                    NoLock = true,
                    Criteria =
                    {
                        Conditions =
                        {
                            new ConditionExpression()
                            {
                                AttributeName = "new_text",
                                Operator = ConditionOperator.Equal,
                                Values = { texts.ToArray()[0] }
                            }
                        }
                    }
                };
Run Code Online (Sandbox Code Playgroud)

我也尝试过,没有错误,但没有返回。

    QueryExpression query = new QueryExpression("account")
                {
                    ColumnSet = new ColumnSet("primarycontactid", "new_text"),
                    NoLock = true,
                    Criteria =
                    {
                        Conditions =
                        {
                            new ConditionExpression()
                            {
                                AttributeName = "new_text",
                                Operator = ConditionOperator.Equal,
                                Values = { texts.ToArray() }
                            }
                        }
                    }
                };
Run Code Online (Sandbox Code Playgroud)

我该如何做才能查询值列表?

Aru*_*oth 5

下面的语法应该可以工作。

QueryExpression q = new QueryExpression("account");
q.Criteria.AddCondition("new_text", ConditionOperator.In, new object[] { "value1", "value2" });
Run Code Online (Sandbox Code Playgroud)

替代版本:

q.Criteria.AddCondition("new_text", ConditionOperator.In, "value1", "value2");
Run Code Online (Sandbox Code Playgroud)

阅读更多