我在插件中执行这个简单的查询:
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功能?
答案 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);