本文整理汇总了C#中Raven.Database.Linq.AbstractViewGenerator.ContainsField方法的典型用法代码示例。如果您正苦于以下问题:C# AbstractViewGenerator.ContainsField方法的具体用法?C# AbstractViewGenerator.ContainsField怎么用?C# AbstractViewGenerator.ContainsField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Database.Linq.AbstractViewGenerator
的用法示例。
在下文中一共展示了AbstractViewGenerator.ContainsField方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AssertQueryDoesNotContainFieldsThatAreNotIndexed
public static void AssertQueryDoesNotContainFieldsThatAreNotIndexed(IndexQuery indexQuery, AbstractViewGenerator viewGenerator)
{
if (string.IsNullOrWhiteSpace(indexQuery.Query))
return;
HashSet<string> hashSet = SimpleQueryParser.GetFields(indexQuery);
foreach (string field in hashSet)
{
string f = field;
if (f.EndsWith("_Range"))
{
f = f.Substring(0, f.Length - "_Range".Length);
}
if (viewGenerator.ContainsField(f) == false &&
viewGenerator.ContainsField("_") == false) // the catch all field name means that we have dynamic fields names
throw new ArgumentException("The field '" + f + "' is not indexed, cannot query on fields that are not indexed");
}
if (indexQuery.SortedFields == null)
return;
foreach (SortedField field in indexQuery.SortedFields)
{
string f = field.Field;
if (f == Constants.TemporaryScoreValue)
continue;
if (f.EndsWith("_Range"))
{
f = f.Substring(0, f.Length - "_Range".Length);
}
if (f.StartsWith(Constants.RandomFieldName))
continue;
if (viewGenerator.ContainsField(f) == false && f != Constants.DistanceFieldName
&& viewGenerator.ContainsField("_") == false)// the catch all field name means that we have dynamic fields names
throw new ArgumentException("The field '" + f + "' is not indexed, cannot sort on fields that are not indexed");
}
}