0
我有兩個日期(DeliveryDate和EmptyDate)字段上的文檔,我想查詢使用相同的日期。所以,如果我查詢2016-04-04和這個日期是在DeliveryDate或EmptyDate查詢應該返回文檔。RavenDB查詢使用或語句
除了這些以場我也severale其他過濾器,以便查詢看起來是這樣的:
var query = _documentSession.Advanced.DocumentQuery<Order, OrdersIndexFields>()
.UsingDefaultOperator(QueryOperator.And);
query.WhereBetweenOrEqual(OrdersIndexFields.DeliveryInfo_DeliveryDateUtc,
predicate.LocalDeliveryFrom.Value,
predicate.LocalDeliveryTo.Value);
query.OrElse().WhereBetweenOrEqual(OrdersIndexFields.EmptyOrderDoneDate,
predicate.LocalDeliveryFrom.Value,
predicate.LocalDeliveryTo.Value);
query.WhereEquals(OrdersIndexFields.Status, predicate.Status);
query
.Skip(0).Take(1024)
.ToArray();
的問題是,預期我使用OrElse運算()方法不起作用。上述查詢返回的結果太多。
如何在RavenDB查詢中編寫正確的OR語句?
是否有你使用Lucene的查詢API的理由,而不是標準的Raven LINQ查詢API? –
@JudahHimango我從我的索引使用連接的集合字段進行過濾,並且據我所見,不可能在索引字段上執行linq過濾,因此我必須堅持使用Lucene查詢API – Poku