using Ant.Query.QueryExpressions; using Ant.Query.Mapping; using Ant.Query.Visitors; using Ant.DbExpressions; using System.Linq.Expressions; using System.Collections.Generic; using Ant.ORM; namespace Ant.Query.QueryState { interface IQueryState { MappingData GenerateMappingData(); FromQueryResult ToFromQueryResult(); JoinQueryResult ToJoinQueryResult(JoinType joinType, LambdaExpression conditionExpression, DbFromTableExpression fromTable, List moeList, string tableAlias); IQueryState Accept(WhereExpression exp); IQueryState Accept(OrderExpression exp); IQueryState Accept(SelectExpression exp); IQueryState Accept(SkipExpression exp); IQueryState Accept(TakeExpression exp); IQueryState Accept(AggregateQueryExpression exp); IQueryState Accept(GroupingQueryExpression exp); } }