internal static void FixRelationshipReferences(Relationship relationshipToCopyInto, Relationship relationshipToCopyFrom)
        {
            ITable primaryTable = relationshipToCopyInto.Database.Tables.FirstOrDefault(t => t.Name == relationshipToCopyFrom.PrimaryTable.Name && t.Schema == relationshipToCopyFrom.PrimaryTable.Schema);
            ITable foreignTable = relationshipToCopyInto.Database.Tables.FirstOrDefault(t => t.Name == relationshipToCopyFrom.ForeignTable.Name && t.Schema == relationshipToCopyFrom.ForeignTable.Schema);

            if (primaryTable == null || foreignTable == null)
            {
                return;
            }

            relationshipToCopyInto.AddThisTo(primaryTable, foreignTable);
            relationshipToCopyInto.ForeignKey.Parent = foreignTable;
            relationshipToCopyInto.PrimaryKey.Parent = primaryTable;
            //relationshipToCopyInto.ForeignKey.Parent = relationshipToCopyInto.Database.Tables.Single(t => t.Name == relationshipToCopyFrom.ForeignTable.Name);
            //relationshipToCopyInto.PrimaryKey.Parent = relationshipToCopyInto.Database.Tables.Single(t => t.Name == relationshipToCopyFrom.PrimaryTable.Name);

            // Fix Column references
            foreach (var col in relationshipToCopyFrom.ForeignKey.Columns)
            {
                relationshipToCopyInto.ForeignKey.AddColumn(col.Name);
            }

            foreach (var col in relationshipToCopyFrom.PrimaryKey.Columns)
            {
                relationshipToCopyInto.PrimaryKey.AddColumn(col.Name);
            }

            //// Fix ReferencedKey reference
            //if (relationshipToCopyFrom.ReferencedKey != null)
            //{
            //    ITable referencedTable = relationshipToCopyInto.Parent.Database.GetTable(relationshipToCopyFrom.ReferencedKey.Parent.Name);
            //    relationshipToCopyInto.ReferencedKey = referencedTable.GetKey(relationshipToCopyFrom.ReferencedKey.Name);
            //}
        }