private void CopyResultsColumns(QuerySpecification qs) { int index = 0; foreach (var ce in qs.EnumerateSelectListColumnExpressions()) { var cr = ce.ColumnReference; cr.SelectListIndex = index++; qs.ResultsTableReference.ColumnReferences.Add(cr); } }
/// <summary> /// Adds default aliases to columns with no aliases specified in the query /// </summary> /// <param name="qs"></param> protected void AssignDefaultColumnAliases(QuerySpecification qs) { var aliases = new HashSet <string>(SchemaManager.Comparer); foreach (var ce in qs.EnumerateSelectListColumnExpressions()) { var cr = ce.ColumnReference; string alias; if (cr.ColumnAlias == null) { if (cr.ColumnName == null) { alias = GetUniqueColumnAlias(aliases, String.Format("Col_{0}", cr.SelectListIndex)); } else { if (cr.TableReference != null && cr.TableReference.Alias != null) { alias = GetUniqueColumnAlias(aliases, String.Format("{0}_{1}", cr.TableReference.Alias, cr.ColumnName)); } else { alias = GetUniqueColumnAlias(aliases, cr.ColumnName); } } } else { // Alias is set explicitly, so do not make it unique forcibly alias = cr.ColumnAlias; } aliases.Add(alias); cr.ColumnAlias = alias; } }
private void CopyResultsColumns(QuerySpecification qs) { int index = 0; foreach (var ce in qs.EnumerateSelectListColumnExpressions()) { var cr = ce.ColumnReference; cr.SelectListIndex = index++; qs.ResultsTableReference.ColumnReferences.Add(cr); } }
/// <summary> /// Adds default aliases to columns with no aliases specified in the query /// </summary> /// <param name="qs"></param> protected void AssignDefaultColumnAliases(QuerySpecification qs) { var aliases = new HashSet<string>(SchemaManager.Comparer); foreach (var ce in qs.EnumerateSelectListColumnExpressions()) { var cr = ce.ColumnReference; string alias; if (cr.ColumnAlias == null) { if (cr.ColumnName == null) { alias = GetUniqueColumnAlias(aliases, String.Format("Col_{0}", cr.SelectListIndex)); } else { if (cr.TableReference != null && cr.TableReference.Alias != null) { alias = GetUniqueColumnAlias(aliases, String.Format("{0}_{1}", cr.TableReference.Alias, cr.ColumnName)); } else { alias = GetUniqueColumnAlias(aliases, cr.ColumnName); } } } else { // Alias is set explicitly, so do not make it unique forcibly alias = cr.ColumnAlias; } aliases.Add(alias); cr.ColumnAlias = alias; } }