/// <summary> /// Initialize for list unique column /// </summary> /// <param name="listTableName"></param> private void InitializeListUniqueColumn(List<string> listTableName) { // // Intialize this._listGroupUniqueColumn = new Dictionary<string, List<GroupUniqueColumnInformation>>(); // // Get list unique constraint List<ConstraintInformation> listConstraints = this.GetListConstraintByType("UNIQUE"); // // Initialize memory space for all table // To store unique column information foreach (string table in listTableName) { this._listGroupUniqueColumn.Add(table, new List<GroupUniqueColumnInformation>()); } // // Then for each unique constraint // Move them to right place to store foreach (ConstraintInformation constraintInformation in listConstraints) { UniqueColumnInformation uniqueColumn = new UniqueColumnInformation(constraintInformation); List<GroupUniqueColumnInformation> groupUniqueColumn = this._listGroupUniqueColumn[uniqueColumn.TableName]; // // If already has group unique column for this // Just add // Else, create new and add to list if (groupUniqueColumn.Any(x => x.ConstraintName.Equals(uniqueColumn.ConstraintName))) { groupUniqueColumn.First(x => x.ConstraintName.Equals(uniqueColumn.ConstraintName)).Add(uniqueColumn); } else { GroupUniqueColumnInformation newGroup = new GroupUniqueColumnInformation(); newGroup.Add(uniqueColumn); groupUniqueColumn.Add(newGroup); } } }
/// <summary> /// Add unique column information /// </summary> /// <param name="uniqueColumn"></param> public void Add(UniqueColumnInformation uniqueColumn) { this._listUniqueColumn.Add(uniqueColumn); }