Ejemplo n.º 1
0
        public static SqlPreCommand CreateIndexBasic(Maps.TableIndex index, bool forHistoryTable)
        {
            var indexType = index is UniqueTableIndex ? "UNIQUE INDEX" : "INDEX";
            var columns   = index.Columns.ToString(c => c.Name.SqlEscape(), ", ");
            var include   = index.IncludeColumns.HasItems() ? $" INCLUDE ({index.IncludeColumns.ToString(c => c.Name.SqlEscape(), ", ")})" : null;

            var where = index.Where.HasText() ? $" WHERE {index.Where}" : "";

            var tableName = forHistoryTable ? index.Table.SystemVersioned !.TableName : index.Table.Name;

            return(new SqlPreCommandSimple($"CREATE {indexType} {index.IndexName} ON {tableName}({columns}){include}{where}"));
        }