public override void VisitResultOperator(ResultOperatorBase resultOperator, QueryModel queryModel, int index) { // Remotion.Linq.Clauses.ResultOperators.AggregateFromSeedResultOperator // Remotion.Linq.Clauses.ResultOperators.AggregateResultOperator // Remotion.Linq.Clauses.ResultOperators.AllResultOperator // Remotion.Linq.Clauses.ResultOperators.AnyResultOperator // Remotion.Linq.Clauses.ResultOperators.AverageResultOperator // Remotion.Linq.Clauses.ResultOperators.CastResultOperator // Remotion.Linq.Clauses.ResultOperators.ChoiceResultOperatorBase // Remotion.Linq.Clauses.ResultOperators.ContainsResultOperator // Remotion.Linq.Clauses.ResultOperators.CountResultOperator // Remotion.Linq.Clauses.ResultOperators.DefaultIfEmptyResultOperator // Remotion.Linq.Clauses.ResultOperators.DistinctResultOperator // Remotion.Linq.Clauses.ResultOperators.ExceptResultOperator // Remotion.Linq.Clauses.ResultOperators.FirstResultOperator // Remotion.Linq.Clauses.ResultOperators.GroupResultOperator // Remotion.Linq.Clauses.ResultOperators.IntersectResultOperator // Remotion.Linq.Clauses.ResultOperators.LastResultOperator // Remotion.Linq.Clauses.ResultOperators.LongCountResultOperator // Remotion.Linq.Clauses.ResultOperators.MaxResultOperator // Remotion.Linq.Clauses.ResultOperators.MinResultOperator // Remotion.Linq.Clauses.ResultOperators.OfTypeResultOperator // Remotion.Linq.Clauses.ResultOperators.ReverseResultOperator // Remotion.Linq.Clauses.ResultOperators.SequenceFromSequenceResultOperatorBase // Remotion.Linq.Clauses.ResultOperators.SequenceTypePreservingResultOperatorBase // Remotion.Linq.Clauses.ResultOperators.SingleResultOperator // Remotion.Linq.Clauses.ResultOperators.SkipResultOperator // Remotion.Linq.Clauses.ResultOperators.SumResultOperator // Remotion.Linq.Clauses.ResultOperators.TakeResultOperator // Remotion.Linq.Clauses.ResultOperators.UnionResultOperator // Remotion.Linq.Clauses.ResultOperators.ValueFromSequenceResultOperatorBase if (resultOperator is CountResultOperator) { _query.CountPredicate = ODataQueryPart.Count(); } else if (resultOperator is LongCountResultOperator) { _query.CountPredicate = ODataQueryPart.Count(); } else if (resultOperator is SkipResultOperator) { var skipOperator = (SkipResultOperator)resultOperator; var skipCount = skipOperator.GetConstantCount(); _query.SkipPredicate = ODataQueryPart.Skip(skipCount); } else if (resultOperator is TakeResultOperator) { var takeOperator = (TakeResultOperator)resultOperator; var takeCount = takeOperator.GetConstantCount(); _query.TopPredicate = ODataQueryPart.Top(takeCount); } base.VisitResultOperator(resultOperator, queryModel, index); }
protected override CountQueryPart Parse(string parameterValue) { return(ODataQueryPart.Count()); }