不应为空且具有特定值的字段中的 QueryExpression

QueryExpression in a field that shouldn't be null and has particular value

我正在尝试使用 CRM SDK 在 C# 中编写 QueryExpression。我有一个主要查询和一些要加入的实体。我的问题是我加入的实体之一有一个我需要过滤的字段并且不能为空。

var mainQuery = new QueryExpression([entity1])
{
    ColumnSet = new ColumnSet("XXXX"),
};
var entity1Join = mainQuery.AddLink([fields], JoinOperator.Inner);

...[other joins here]

var entity2Join = entity1Join.AddLink("entity2", "fieldid", "fieldid", JoinOperator.Inner);
contactJoin.LinkCriteria = new FilterExpression()
{
    FilterOperator = LogicalOperator.And,
    Conditions = { 
            new ConditionExpression([field1], ConditionOperator.NotNull), 
            new ConditionExpression([field1], ConditionOperator.Equal, [value])
        }   
};
...[other joins here]


var result = this.CRMClient.OrganizationServiceProxy.RetrieveMultiple(mainQuery).Entities;

我收到这个错误:

属性条件 'entity2.field1':null 不是属性的有效值。请改用 'Null' 或 'NotNull' 条件。

请帮忙,谢谢。

从您的第二个实体筛选器操作中删除 null 的第一个条件,因为无论如何您都提供了一些特定的值以及您的值是什么。您的值本身是空值还是包含数据。

在为第二个条件赋值之前最好检查它是否包含数据。