我们通常在D365 crm中用 Organization 查询数据时,通常会使用 QueryExpression来查询数据,
查询数据时,通常用Filter Expression作为过滤条件处理,而在今天测试时,发现用In操作符时,
添加过滤条件的方式不同时,会有报错的情况
使用 AddCondition 以如下方式时,会报错
filterExpression.AddCondition( LateBound.SystemUser.PrimaryKey, ConditionOperator.In, userList.Select(x => x.Id).ToList());
报错截图如下:

而把 添加过滤条件的方式 替换成如下方式时,就不会报错
filterExpression.AddCondition(new ConditionExpression(LateBound.SystemUser.PrimaryKey, ConditionOperator.In, userList.Select(x => x.Id).ToList()));

不知道微软内部这两种方式有什么区别,暂且记录下该问题,加深印象,
在D365crm中查询数据时,通常使用QueryExpression和FilterExpression。遇到一个问题,当尝试用ConditionOperator.In的In操作符添加过滤条件时,通过AddCondition方法会报错,而使用newConditionExpression的方式则能正常工作。两种方式在微软内部可能有不同的处理机制,导致了这种行为差异。这是一个关于代码实现和错误处理的记录。

2040

被折叠的 条评论
为什么被折叠?



