public static IndexDefinition GetIndexDefinition(Type modelType, PropertyInfo propertyInfo, IndexAttribute attribute, string columnName, string tableName) { string indexName = string.IsNullOrEmpty(attribute.Name) ? string.Format("IX_{0}_{1}", tableName, columnName) : attribute.Name; var definition = new IndexDefinition { Name = indexName, IndexType = attribute.IndexType, ColumnName = columnName, TableName = tableName, IsClustered = attribute.IndexType == IndexTypes.Clustered, IsUnique = attribute.IndexType == IndexTypes.UniqueNonClustered }; if (string.IsNullOrEmpty(attribute.ForColumns) == false) { var columns = attribute.ForColumns.Split(',').Select(p => p.Trim()); foreach (var column in columns) { definition.Columns.Add(new IndexColumnDefinition {Name = column, Direction = Direction.Ascending}); } } return definition; }
public CreateIndexExpression(DatabaseProviders current, DatabaseProviders[] databaseProviders) : base(current, databaseProviders) { Index = new IndexDefinition(); }
public CreateIndexExpression() { Index = new IndexDefinition(); }
public DeleteIndexExpression() { Index = new IndexDefinition(); }