private static ForeignKey MapCompositeKey(ForeignKey temp, ForeignKey mappedForeignKey)
        {
            var primaryKeys = temp.PrimaryKeysColumns.Union(mappedForeignKey.PrimaryKeysColumns).ToList();
            var foreignKeys = temp.ForeignKeyColumns.Union(mappedForeignKey.ForeignKeyColumns).ToList();

            var compositeKey = temp;
            compositeKey.ForeignKeyColumns = foreignKeys;
            compositeKey.PrimaryKeysColumns = primaryKeys;
            return compositeKey;
        }
        public ForeignKey MapToForeignKey(DataRow row, DataTable schema)
        {
            var dbForeignKey = new ForeignKey
            {
                Name                  = row["FK_NAME"].ToString(),
                OriginalName          = row["FK_NAME"].ToString(),
                ForeignKeyTableName   = row["FK_TABLE_NAME"].ToString(),
                PrimaryKeyTableName   = row["PK_TABLE_NAME"].ToString(),
                ForeignKeyTableSchema = schema.ToString()
            };

            var fkc = new ForeignKeyColumn { Name = row["FK_COLUMN_NAME"].ToString() };
            dbForeignKey.ForeignKeyColumns.Add(fkc);

            var pkc = new PrimaryKeyColumn { Name = row["PK_COLUMN_NAME"].ToString() };
            dbForeignKey.PrimaryKeysColumns.Add(pkc);

            return dbForeignKey;
        }
 private static bool IsCompositeKey(ForeignKey mappedForeignKey, ForeignKey t)
 {
     return t.PrimaryKeyTableName == mappedForeignKey.PrimaryKeyTableName && t.ForeignKeyTableName == mappedForeignKey.ForeignKeyTableName;
 }