internal ColumnProjector(TypeDescriptorProvider typeDescriptorProvider, Nominator nominator, Expression expression, string newAlias, params string[] existingAliases)
{
columnNames = new HashSet <string>();
columns = new List <SqlColumnDeclaration>();
mappedColumnExpressions = new Dictionary <SqlColumnExpression, SqlColumnExpression>();
this.typeDescriptorProvider = typeDescriptorProvider;
this.nominator = nominator;
this.newAlias = newAlias;
this.existingAliases = existingAliases;
this.candidates = nominator.Nominate(expression);
}