JoinQueryResult Visit(QueryExpression exp) { IQueryState state = QueryExpressionVisitor.VisitQueryExpression(exp, this._scopeParameters, this._resultElement.ScopeTables); JoinQueryResult ret = state.ToJoinQueryResult(this._joinType, this._conditionExpression, this._scopeParameters, this._resultElement.ScopeTables, this._resultElement.GenerateUniqueTableAlias()); return(ret); }
JoinQueryResult Visit(QueryExpression exp) { IQueryState state = QueryExpressionVisitor.VisitQueryExpression(exp); JoinQueryResult ret = state.ToJoinQueryResult(this._joinType, this._conditionExpression, this._resultElement.FromTable, this._moeList, this._resultElement.GenerateUniqueTableAlias()); return(ret); }
JoinQueryResult Visit(QueryExpression exp) { IQueryState state = QueryExpressionResolver.Resolve(exp, this._scopeParameters, this._queryModel.ScopeTables); JoinQueryResult ret = state.ToJoinQueryResult(this._joinType, this._conditionExpression, this._scopeParameters, this._queryModel.ScopeTables, this._queryModel.GenerateUniqueTableAlias()); return(ret); }
public override IQueryState Accept(AggregateQueryExpression exp) { IQueryState subQueryState = this.AsSubQueryState(); IQueryState state = subQueryState.Accept(exp); return(state); }
DbSqlQueryExpression ConvertToDbSqlQueryExpression(Expression exp, Type resultType) { if (!IsIQueryType(exp.Type)) { throw new NotSupportedException(exp.ToString()); } QueryBase query = ExpressionEvaluator.Evaluate(exp) as QueryBase; IQueryState qs = QueryExpressionVisitor.VisitQueryExpression(query.QueryExpression, this._scopeParameters, this._scopeTables); MappingData mappingData = qs.GenerateMappingData(); DbSqlQueryExpression sqlQueryExpression = mappingData.SqlQuery.Update(resultType); return(sqlQueryExpression); }
DbCommandFactor GenerateCommandFactor() { IQueryState qs = QueryExpressionVisitor.VisitQueryExpression(this._query.QueryExpression); MappingData data = qs.GenerateMappingData(); IObjectActivator objectActivator; objectActivator = data.ObjectActivatorCreator.CreateObjectActivator(); IDbExpressionTranslator translator = this._query.DbContext._dbContextServiceProvider.CreateDbExpressionTranslator(); List <DbParam> parameters; string cmdText = translator.Translate(data.SqlQuery, out parameters); DbCommandFactor commandFactor = new DbCommandFactor(objectActivator, cmdText, parameters.ToArray()); return(commandFactor); }
DbCommandFactor GenerateCommandFactor() { IQueryState qs = QueryExpressionResolver.Resolve(this._query.QueryExpression, new ScopeParameterDictionary(), new StringSet()); MappingData data = qs.GenerateMappingData(); IObjectActivator objectActivator; if (this._query._trackEntity) { objectActivator = data.ObjectActivatorCreator.CreateObjectActivator(this._query.DbContext); } else { objectActivator = data.ObjectActivatorCreator.CreateObjectActivator(); } IDbExpressionTranslator translator = this._query.DbContext.DatabaseProvider.CreateDbExpressionTranslator(); DbCommandInfo dbCommandInfo = translator.Translate(data.SqlQuery); DbCommandFactor commandFactor = new DbCommandFactor(objectActivator, dbCommandInfo.CommandText, dbCommandInfo.GetParameters()); return(commandFactor); }
DbCommandFactor GenerateCommandFactor() { IQueryState qs = QueryExpressionVisitor.VisitQueryExpression(this._query.QueryExpression, new ScopeParameterDictionary(), new KeyDictionary <string>()); MappingData data = qs.GenerateMappingData(); IObjectActivator objectActivator; if (this._query._trackEntity) { objectActivator = data.ObjectActivatorCreator.CreateObjectActivator(this._query.DbContext); } else { objectActivator = data.ObjectActivatorCreator.CreateObjectActivator(); } IDbExpressionTranslator translator = this._query.DbContext.DatabaseProvider.CreateDbExpressionTranslator(); List <DbParam> parameters; string cmdText = translator.Translate(data.SqlQuery, out parameters); DbCommandFactor commandFactor = new DbCommandFactor(objectActivator, cmdText, parameters.ToArray()); return(commandFactor); }
public override IQueryState Accept(DistinctExpression exp) { IQueryState state = this.AsSubQueryState(); return(state.Accept(exp)); }
public override IQueryState Accept(GroupingQueryExpression exp) { IQueryState state = this.AsSubQueryState(); return(state.Accept(exp)); }
public override IQueryState Accept(SelectExpression exp) { IQueryState queryState = this.AsSubQueryState(); return(queryState.Accept(exp)); }
public BaseQuery(IQueryResult queryResult, IQueryState queryState) { this.queryResult = queryResult; this.queryState = queryState; }