1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using Ant.DbExpressions;
- using Ant.Query.Mapping;
- using Ant.Query.QueryExpressions;
- using System;
- using System.Linq;
- namespace Ant.Query.QueryState
- {
- internal abstract class SubQueryState : QueryStateBase
- {
- protected SubQueryState(ResultElement resultElement)
- : base(resultElement)
- {
- }
- public override IQueryState Accept(WhereExpression exp)
- {
- IQueryState state = this.AsSubQueryState();
- return state.Accept(exp);
- }
- public override IQueryState Accept(OrderExpression exp)
- {
- IQueryState state = this.AsSubQueryState();
- return state.Accept(exp);
- }
- public override IQueryState Accept(SelectExpression exp)
- {
- IQueryState queryState = this.AsSubQueryState();
- return queryState.Accept(exp);
- }
- public override IQueryState Accept(SkipExpression exp)
- {
- GeneralQueryState subQueryState = this.AsSubQueryState();
- SkipQueryState state = new SkipQueryState(subQueryState.Result, exp.Count);
- return state;
- }
- public override IQueryState Accept(TakeExpression exp)
- {
- GeneralQueryState subQueryState = this.AsSubQueryState();
- TakeQueryState state = new TakeQueryState(subQueryState.Result, exp.Count);
- return state;
- }
- public override IQueryState Accept(AggregateQueryExpression exp)
- {
- IQueryState subQueryState = this.AsSubQueryState();
- IQueryState state = subQueryState.Accept(exp);
- return state;
- }
- }
- }
|