本文整理汇总了C#中Search.CompileFacetCriteria方法的典型用法代码示例。如果您正苦于以下问题:C# Search.CompileFacetCriteria方法的具体用法?C# Search.CompileFacetCriteria怎么用?C# Search.CompileFacetCriteria使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Search
的用法示例。
在下文中一共展示了Search.CompileFacetCriteria方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Facet
public void Facet()
{
var search = new Search();
var criteria = new[]
{
new FacetSearchCriteria
{
InternalName = "freeTextFacet_1",
DisplayName = "Test",
FacetId = 1,
SearchOperator = SearchOperator.StartsWith,
Type = SearchFieldType.String,
Value = "GiveCamp"
}
};
var expr = search.CompileFacetCriteria(criteria, null);
Assert.AreEqual(SimpleExpressionType.And, expr.Type);
var first = expr.LeftOperand as SimpleExpression;
Assert.IsNotNull(first);
var reference = first.LeftOperand as ObjectReference;
Assert.IsNotNull(reference);
Assert.AreEqual("FacetId", reference.GetName());
Assert.AreEqual("freeTextFacet_1", reference.GetOwner().Alias);
Assert.AreEqual(SimpleExpressionType.Equal, first.Type);
Assert.AreEqual(1, first.RightOperand);
var second = expr.RightOperand as SimpleExpression;
Assert.IsNotNull(second);
reference = second.LeftOperand as ObjectReference;
Assert.IsNotNull(reference);
Assert.AreEqual("FreeTextValue", reference.GetName());
Assert.AreEqual("freeTextFacet_1", reference.GetOwner().Alias);
var function = second.RightOperand as SimpleFunction;
Assert.IsNotNull(function);
Assert.AreEqual("like", function.Name.ToLowerInvariant());
Assert.AreEqual(1, function.Args.Count);
Assert.AreEqual("GiveCamp%", function.Args.First());
Assert.AreEqual(SimpleExpressionType.Function, second.Type);
}