Beispiel #1
0
        private Relationship GetRelationship(IDictionary <string, Relationship> existingRelationships, ColumnAssociation ca)
        {
            Relationship relationship;

            if (!existingRelationships.TryGetValue(ca.RelationshipName, out relationship))
            {
                SchemaObject obj2;
                SchemaObject obj3;
                if (!(((this.Objects.TryGetValue(ca.ChildSchema + "." + ca.ChildTable, out obj2) && this.Objects.TryGetValue(ca.ParentSchema + "." + ca.ParentTable, out obj3)) && obj2.HasKey) && obj3.HasKey))
                {
                    return(null);
                }
                if (!((obj3 is Table) && (obj2 is Table)))
                {
                    return(null);
                }
                relationship = new Relationship(ca.RelationshipName, (Table)obj3, (Table)obj2, Program.AllowOneToOne);
                existingRelationships.Add(ca.RelationshipName, relationship);
            }
            Column item    = relationship.ChildTable.Columns.Values.FirstOrDefault <Column>(c => c.ColumnName == ca.ChildColumn);
            Column column2 = relationship.ParentTable.Columns.Values.FirstOrDefault <Column>(c => c.ColumnName == ca.ParentColumn);

            if ((item != null) && (column2 != null))
            {
                relationship.ChildCols.Add(item);
                relationship.ParentCols.Add(column2);
            }
            return(relationship);
        }
Beispiel #2
0
 private Relationship GetRelationship(IDictionary<string, Relationship> existingRelationships, ColumnAssociation ca)
 {
     Relationship relationship;
     if (!existingRelationships.TryGetValue(ca.RelationshipName, out relationship))
     {
         SchemaObject obj2;
         SchemaObject obj3;
         if (!(((this.Objects.TryGetValue(ca.ChildSchema + "." + ca.ChildTable, out obj2) && this.Objects.TryGetValue(ca.ParentSchema + "." + ca.ParentTable, out obj3)) && obj2.HasKey) && obj3.HasKey))
         {
             return null;
         }
         if (!((obj3 is Table) && (obj2 is Table)))
         {
             return null;
         }
         relationship = new Relationship(ca.RelationshipName, (Table) obj3, (Table) obj2, Program.AllowOneToOne);
         existingRelationships.Add(ca.RelationshipName, relationship);
     }
     Column item = relationship.ChildTable.Columns.Values.FirstOrDefault<Column>(c => c.ColumnName == ca.ChildColumn);
     Column column2 = relationship.ParentTable.Columns.Values.FirstOrDefault<Column>(c => c.ColumnName == ca.ParentColumn);
     if ((item != null) && (column2 != null))
     {
         relationship.ChildCols.Add(item);
         relationship.ParentCols.Add(column2);
     }
     return relationship;
 }