本文整理汇总了C#中Microsoft.OData.Core.UriParser.ODataQueryOptionParser.ParseApply方法的典型用法代码示例。如果您正苦于以下问题:C# ODataQueryOptionParser.ParseApply方法的具体用法?C# ODataQueryOptionParser.ParseApply怎么用?C# ODataQueryOptionParser.ParseApply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.OData.Core.UriParser.ODataQueryOptionParser
的用法示例。
在下文中一共展示了ODataQueryOptionParser.ParseApply方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AggregatedPropertiesTreatedAsOpenProperty
public void AggregatedPropertiesTreatedAsOpenProperty()
{
var odataQueryOptionParser = new ODataQueryOptionParser(HardCodedTestModel.TestModel,
HardCodedTestModel.GetPersonType(), HardCodedTestModel.GetPeopleSet(),
new Dictionary<string, string>()
{
{"$filter", "Total ge 10 and Max le 2"},
{"$apply", "aggregate(FavoriteNumber with sum as Total, StockQuantity with max as Max)"}
});
odataQueryOptionParser.ParseApply();
var filterClause = odataQueryOptionParser.ParseFilter();
var binaryOperatorNode = filterClause.Expression.ShouldBeBinaryOperatorNode(BinaryOperatorKind.And).And;
var leftBinaryOperatorNode =
binaryOperatorNode.Left.ShouldBeBinaryOperatorNode(BinaryOperatorKind.GreaterThanOrEqual).And;
var rightBinaryOperatorNode =
binaryOperatorNode.Right.ShouldBeBinaryOperatorNode(BinaryOperatorKind.LessThanOrEqual).And;
leftBinaryOperatorNode.Left.As<ConvertNode>().Source.ShouldBeSingleValueOpenPropertyAccessQueryNode("Total");
rightBinaryOperatorNode.Left.As<ConvertNode>().Source.ShouldBeSingleValueOpenPropertyAccessQueryNode("Max");
}
示例2: AggregatedPropertiesTreatedAsOpenPropertyInOrderBy
public void AggregatedPropertiesTreatedAsOpenPropertyInOrderBy()
{
var odataQueryOptionParser = new ODataQueryOptionParser(HardCodedTestModel.TestModel,
HardCodedTestModel.GetPersonType(), HardCodedTestModel.GetPeopleSet(),
new Dictionary<string, string>()
{
{"$orderby", "Total asc, Max desc"},
{"$apply", "aggregate(FavoriteNumber with sum as Total, StockQuantity with max as Max)"}
});
odataQueryOptionParser.ParseApply();
var orderByClause = odataQueryOptionParser.ParseOrderBy();
orderByClause.Direction.Should().Be(OrderByDirection.Ascending);
orderByClause.Expression.ShouldBeSingleValueOpenPropertyAccessQueryNode("Total");
orderByClause = orderByClause.ThenBy;
orderByClause.Direction.Should().Be(OrderByDirection.Descending);
orderByClause.Expression.ShouldBeSingleValueOpenPropertyAccessQueryNode("Max");
}
示例3: AggregatedPropertyTreatedAsOpenProperty
public void AggregatedPropertyTreatedAsOpenProperty()
{
var odataQueryOptionParser = new ODataQueryOptionParser(HardCodedTestModel.TestModel,
HardCodedTestModel.GetPersonType(), HardCodedTestModel.GetPeopleSet(),
new Dictionary<string, string>()
{
{"$filter", "Total"},
{"$apply", "aggregate(FavoriteNumber with sum as Total)"}
});
odataQueryOptionParser.ParseApply();
var filterClause = odataQueryOptionParser.ParseFilter();
filterClause.Expression.ShouldBeSingleValueOpenPropertyAccessQueryNode("Total");
}