CRM 2011未知条件运算符:NotOn

时间:2012-10-26 15:38:26

标签: dynamics-crm-2011

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

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_datafim记录(或其他特定日期,DateTime.Now只是一个示例)。

当我执行此操作时,我收到错误

  

未知条件操作员:NotOn。

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

1 个答案:

答案 0 :(得分: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);