我正在构建以下查询。出于某种原因,它并没有带给我所有的领域。我检查了拼写,当我为这些字段分配值时,我甚至切换了名称,导致异常。所以我肯定知道它们存在并被使用。我正在为所有数据添加一个预映像到更新步骤,只是为了确定。
QueryExpression request = new QueryExpression
{
EntityName = "myLogicalName",
ColumnSet = new ColumnSet { AllColumns = true },
Criteria =
{
Filters =
{
new FilterExpression
{
FilterOperator = LogicalOperator.Or,
Conditions =
{
new ConditionExpression("someField", ConditionOperator.NotEqual, someValue),
new ConditionExpression("someField", ConditionOperator.Equal, somValue)
}
}
}
}
};
EntityCollection result = Service.RetrieveMultiple(request);
我可能会错过什么?!
答案 0 :(得分:3)
可能是因为;该字段没有应用值或字段级安全性。
作为一般方面,您应该避免使用AllColumns = true
答案 1 :(得分:1)
将AllColumns
属性设置为true与在sql中执行Select *
基本相同。这些列不会添加到ColumnSet中,但它们将在查询表达式的结果中返回。