internal Subquery(Query parent, SubqueryTemplate template, ISubqueryMapping mapping) { this.ParentQuery = parent; this.Template = template; this.Mapping = mapping; // However, they might be overridden by the subquery template, so use the indexer here. foreach (QueryInput parameter in template.Inputs.Values) { this.Inputs[parameter.Name] = parameter.Clone(); } }
internal Subquery(Query parent, SubqueryTemplate template, ISubqueryMapping mapping) { this.ParentQuery = parent; this.Template = template; this.Mapping = mapping; // Take persistence parameters from the subquery template only, but... foreach (PersistenceParameter parameter in template.PersistenceParameters.Values) { this.PersistenceParameters.Add(parameter.Name, parameter.Clone()); } /* * // Query parameters are inherited from the root query. * foreach (QueryParameter parameter in template.Template.Parameters.Values) * this.Parameters.Add(parameter.Name, parameter.Clone()); */ // However, they might be overridden by the subquery template, so use the indexer here. foreach (QueryParameter parameter in template.Parameters.Values) { this.Parameters[parameter.Name] = parameter.Clone(); } }