public UniqueIndexTreeNode(ProjectSchemaTreeNode parent, UniqueIndexMapping uniqueIndexMapping) : base(parent) { this.UniqueIndexMapping = uniqueIndexMapping; Initialize(); }
private void RefreshUniqueIndices(Project project, Connection connection, ref List <string> errors) { DataTable dataTable = GetUniqueIndices(project, connection); UniqueIndexMapping currentUniqueIndexMapping = null; var duplicates = FindDuplicates(dataTable, QueryConstants.Index.Name, QueryConstants.TableOrView.Name, QueryConstants.Column.Name); if (duplicates.Any()) { errors.Add(FormatDuplicates(duplicates)); return; } foreach (DataRow dr in dataTable.Rows) { string name; string schemaName; string tableName; string columnName; ColumnMapping cm = null; ExtractUniqueIndexInfo(dr, out name, out schemaName, out tableName, out columnName); cm = project.FindTableMapping(connection.Name, schemaName, tableName).FindColumnMapping(columnName); if (currentUniqueIndexMapping == null || !currentUniqueIndexMapping.UniqueIndexName.Equals(name)) { currentUniqueIndexMapping = cm.TableMapping.FindUniqueIndexMapping(name); if (currentUniqueIndexMapping == null) { currentUniqueIndexMapping = new UniqueIndexMapping(name, null, null); cm.TableMapping.UniqueIndexMappings.Add(currentUniqueIndexMapping); } } if (!currentUniqueIndexMapping.ColumnMappings.Contains(cm)) { currentUniqueIndexMapping.ColumnMappings.Add(cm); } } RemoveNonExistantUniqueIndices(project, connection, dataTable); }
public UniqueIndexTreeNode(UniqueIndexMapping uniqueIndexMapping) { _uniqueIndexMapping = uniqueIndexMapping; Initialize(); }
public UniqueIndexOptions(UniqueIndexMapping UniqueIndexMapping) { InitializeComponent(); this.UniqueIndexMapping = UniqueIndexMapping; }