Dynamics crm 2011 CRM 2011未知条件运算符:NotOn
我在一个插件中进行这个简单的查询:Dynamics crm 2011 CRM 2011未知条件运算符:NotOn,dynamics-crm-2011,Dynamics Crm 2011,我在一个插件中进行这个简单的查询: QueryExpression query=newqueryexpression(hb_aula.EntityLogicalName); query.ColumnSet=新列集(true); query.Criteria=newFilterExpression(LogicalOperator.And); 添加(新的条件表达式(“hb_datafim”,ConditionOperator.NotOn,DateTime.Now)); EntityCollectio
QueryExpression query=newqueryexpression(hb_aula.EntityLogicalName);
query.ColumnSet=新列集(true);
query.Criteria=newFilterExpression(LogicalOperator.And);
添加(新的条件表达式(“hb_datafim”,ConditionOperator.NotOn,DateTime.Now));
EntityCollection ent=service.RetrieveMultiple(查询);
我试图检索所有hb_aula
记录,其中hb_datafim
日期字段不在今天(或其他特定日期,DateTime.Now
只是一个示例)
当我执行这个时,我得到了错误
未知条件运算符:NotOn
我是否做错了什么,或者这是一个未完成的CRM 2011功能?我对您的用例进行了一些测试,得到了相同的结果。看起来这可能在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);
为什么不在今天早上使用一个少于00:00的时间段(所以将DateTime.Now转换为只在00:00进行约会并使用它)?我觉得这很好。您是否有任何错误。时间还是编译时间?AdamV我不是在寻找解决方法,我想知道为什么我不能使用那个特定的操作符。如果不能使用,为什么会在那里?为了模拟同一个操作符,我总是需要两个条件,一个是小于,另一个是大于,并且仍然存在时间部分的问题。