public override string Generate(Expressions.CreateIndexExpression expression) { var indexWithSchema = Quoter.QuoteIndexName(expression.Index.Name, expression.Index.SchemaName); var columnList = expression.Index.Columns.Aggregate(new StringBuilder(), (item, itemToo) => { var accumulator = item.Length == 0 ? string.Empty : ", "; var direction = itemToo.Direction == Direction.Ascending ? string.Empty : " DESC"; return(item.AppendFormat("{0}{1}{2}", accumulator, Quoter.QuoteColumnName(itemToo.Name), direction)); }); return(string.Format( "CREATE {0}INDEX {1} ON {2} ({3})", expression.Index.IsUnique ? "UNIQUE " : string.Empty, indexWithSchema, Quoter.QuoteTableName(expression.Index.TableName, expression.Index.SchemaName), columnList)); }
public void Process(Expressions.CreateIndexExpression expression) { Process(Generator.Generate(expression)); }