3

我在插件中做这个简单的查询:

QueryExpression query = new QueryExpression(hb_aula.EntityLogicalName);
query.ColumnSet = new ColumnSet(true);

query.Criteria = new FilterExpression(LogicalOperator.And);
query.Criteria.Conditions.Add(new ConditionExpression("hb_datafim", ConditionOperator.NotOn, DateTime.Now));

EntityCollection ent = service.RetrieveMultiple(query);

我试图检索日期字段不在今天(或其他特定日期,只是一个例子)的所有hb_aula记录。hb_datafimDateTime.Now

当我执行这个我得到错误

未知条件运算符:NotOn。

我做错了什么还是这是未完成的 CRM 2011 功能?

4

1 回答 1

2

我围绕您的用例做了一些测试,得到了相同的结果。看起来这可能在 SDK 中未完成。我建议使用以下解决方法 -

DateTime today = DateTime.Now;
DateTime yesterday = today.AddDays(-1);
DateTime tomorrow = today.AddDays(1);
FilterExpression filter = new FilterExpression(LogicalOperator.Or);
filter.AddCondition("createdon", ConditionOperator.OnOrBefore, yesterday);
filter.AddCondition("createdon", ConditionOperator.OnOrAfter, tomorrow);
QueryExpression query = new QueryExpression("contact")
    {
        ColumnSet = new ColumnSet(true),
        Criteria = filter
    };

EntityCollection ent = service.RetrieveMultiple(query);
于 2012-10-31T22:11:34.987 回答