コード例 #1
0
        /// <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);
 }
 /// <summary>
 /// Add unique column information
 /// </summary>
 /// <param name="uniqueColumn"></param>
 public void Add(UniqueColumnInformation uniqueColumn)
 {
     this._listUniqueColumn.Add(uniqueColumn);
 }