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 = QueryExpressionResolver.Resolve(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); }