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); }
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; }