2015-01-21 83 views
2

我正在使用Microsoft CRM SDK來檢索實體。我在寫QueryExpressionFilterExpression用於比較兩個屬性的CRM ConditionExpression

如何編寫一個條件,需要考慮兩個屬性?我想檢索實體,對於該實體,「導出日期」小於「已修改」。 (即所有自上次導出後已被修改的)。

QueryExpression query = new QueryExpression(); 
FilterExpression filter = new FilterExpression(); 
filter.FilterOperator = LogicalOperator.Or; 

ConditionExpression condition = new ConditionExpression(); 
// ... 
//how to write this condition? 

filter.AddCondition(condition); 

回答

5

當查詢CRM,存在以下限制:

  • 的條件左側必須是CRM屬性
  • 的條件右側必須是常量

換句話說,屬性不能直接在單個查詢中進行比較。作爲一個經驗法則,如果你的QueryExpression可以構建爲高級查找,那麼你沒問題,否則你很可能需要中間查詢。

1

不幸的是,這是不可能的。唯一的方法是檢索數據並構建查詢以檢索數據以獲得最終結果。