我们使用以下代码:
var searcher = ExamineManager.Instance
.SearchProviderCollection[SearchProviderName];
var criteria = searcher.CreateSearchCriteria();
q = q.And()
.Range("dateRangeStart",
startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
true, true)
);
criteria = q.Compile();
var searchResult = searcher.Search(criteria).AsEnumerable();
在基于单个日期范围内的单个日期进行搜索时工作正常。然而,我们需要的是一个带有2个日期的搜索,如果其中一个日期在给定的日期范围内,则返回结果。
答案 0 :(得分:0)
据推测,你可以在相同的范围内进行更多的AND,但是不同的领域:
q = q.And()
.Range("dateRangeStart",
startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
true, true)
.And().Range("dateRangeEnd",
startRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
endRange.ToString("yyyy-MM-ddTHH:mm:ss", CultureInfo.InvariantCulture),
true, true);
这假设另一个字段被称为dateRangeEnd
。